leekale 2015-07-20 01:25
浏览 1585

关于PHP中usort函数中,数值传递问题

PHP手册中usort语法形式为 bool usort (array &array ,callback $cmp_function) 
请问 下例中 自定义函数中的$str1和$str2是按照什么顺序来接收数组中传来的数值,并怎么通过1,-1 ,0来排序?谢谢! 
例子:(把一个数组按照奇偶分开,再按照大小排列) 

<?php function Compare ( $str1,$str2){
if (($str1%2 == 0) && ($str2 == 0)){
if($str1>$str2) return -1; else return 1; }
if ($str1 %2 ==0) return 1;
if ($str2 %2 ==0) return -1;
return ($str2>$str1)? 1: -1; } $scores=array(64,78,51,86,97,60,87,91,100,17,62); usort($scores, 'Compare');
print_r($scores);
?>

这是输出结果: 
Array([0] => 97 [1] => 91 [2] => 87 [3] => 51 [4] => 17 [5] => 86 [6] => 64 [7] => 78 [8] => 100 [9] => 60 [10] => 62)

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能