首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP安装/语法/函数 » [原创]谁帮我解释一下 谢谢  


  作者:苏卡卡
  注册时间:2005-03-30
  主题/回复:7/7
  积分:442
  等级:★★☆(五级)
  称号:略有小成

  84445106@qq.com
  未提供
  www.otm.cn

 

 发表:2005-04-02 03:04:13 阅读 2078 次 回复 3 次 得分1  |   字号 字色
[原创]谁帮我解释一下 谢谢
<?
function cmp($a,$b) {
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}
$a = array(3,2,5,6,1);
usort($a, cmp);
while(list($key,$value) = each($a)) {
    echo "$key: $value\n";
}
?>
谁帮我解释一下
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-04-02 03:31:47  评分:1 

PHP的数组排序函数太多,多得都记不住
这个usort()好像是根据用户自定义函数来进行数组排序。
两个参数一个是数组名一个是函数名。
而且对函数要求好像也挺高,必须返回大于零小于零和等于零三个结果。
你这个程序看起来还是比较简单,就是一个数字排序,输出结果应该是
1:6
2:5
....
不过要实现这种排序用其他的函数比如sort()一下就能排好,不用这么麻烦。
这个函数我从没用过,数组排序纵然非常常用,但是有好几个排序函数都能很好的满足一般的要求。这个usort()函数究竟在哪个场合最有用,还真没见过。好像在进行比较另类的排序,比如把对象按照一定规则进行排序的时候,用到这个函数。

这个函数应该说功能还是很强,但是用的还是不多,原因是构造自定义比对函数应该有一定难度。
 2#楼  
 
  回复人:苏卡卡
  注册时间:2005-03-30
  主题/回复:7/7
  积分:442
  等级:★★☆(五级)
  称号:略有小成

   
 2#楼 发表于2005-04-02 03:58:20  评分:× 

我这个是PHP手册上的
我就是不知道那个function函数做什么的 还有$B是怎么出来的
 3#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 3#楼 发表于2005-04-03 17:13:23  评分: 

function函数是用户自定函数,用这个函数的规则来对数组进行比对。
$b是一个形式参数。因为要对2个值进行比对,所以用两个形参$a和$b
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.004sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版