- 26
- 0
问题描述
对数组进行排序,先对a字段正序排序,但0排到最后,再对b字段逆序排序
实现代码
// 对数组进行排序,先对a字段正序排序,但0排到最后,再对b字段逆序排序
$a1 = array(
array('a' => 1,'b' => 1),
array('a' => 2,'b' => 1),
array('a' => 1,'b' => 2),
array('a' => 0,'b' => 1),
array('a' => 1,'b' => 3),
array('a' => 2,'b' => 2),
array('a' => 0,'b' => 2),
array('a' => 2,'b' => 3)
);
// 对a排序
function my_sort1($a,$b) {
if ($a['a'] == 0) {
return 1;
}
if ($b['a'] == 0) {
return -1;
}
if ($a['a'] > $b['a']) {
return 1;
}
return -1;
}
// 对b排序
function my_sort2($a,$b) {
if ($a['a'] == $b['a']) {
if ($a['b'] < $b['b']) {
return 1;
} elseif ($a['b'] > $b['b']) {
return -1;
}
}
return 0;
}
usort($a1,"my_sort1");
usort2($a1,"my_sort2");
返回结果
php7.2返回结果正常
Array
(
[0] => Array
(
[a] => 1
[b] => 3
)
[1] => Array
(
[a] => 1
[b] => 2
)
[2] => Array
(
[a] => 1
[b] => 1
)
[3] => Array
(
[a] => 2
[b] => 3
)
[4] => Array
(
[a] => 2
[b] => 2
)
[5] => Array
(
[a] => 2
[b] => 1
)
[6] => Array
(
[a] => 0
[b] => 2
)
[7] => Array
(
[a] => 0
[b] => 1
)
)
php5.6返回结果有问题
Array
(
[0] => Array
(
[a] => 0
[b] => 2
)
[1] => Array
(
[a] => 0
[b] => 1
)
[2] => Array
(
[a] => 2
[b] => 3
)
[3] => Array
(
[a] => 2
[b] => 2
)
[4] => Array
(
[a] => 2
[b] => 1
)
[5] => Array
(
[a] => 1
[b] => 3
)
[6] => Array
(
[a] => 1
[b] => 2
)
[7] => Array
(
[a] => 1
[b] => 1
)
)
思考
**查阅了相关信息,函数php7并没有修改usort方法
疑问:是否php7版本对php数组进行了修改
如果有大神知道的,还望不吝赐教!**
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
