$a = Array
(
Array (
'cid' => 1,
'cname' => '关于'
),
Array (
'cid' => 7,
'cname' => '简介'
),
Array (
'cid' => 8,
'cname' => '文化'
),
Array (
'cid' => 9,
'cname' => '动态'
)
);
$b = Array
(
Array (
'cid' => 1,
'cname' => '关于'
),
Array (
'cid' => 2,
'cname' => '歌剧'
),
Array (
'cid' => 3,
'cname' => '美剧'
),
Array (
'cid' => 4,
'cname' => '视频'
),
Array (
'cid' => 5,
'cname' => '娱乐'
),
Array (
'cid' => 6,
'cname' => '联系'
),
Array (
'cid' => 7,
'cname' => '简介'
),
Array (
'cid' => 8,
'cname' => '文化'
),
Array (
'cid' => 9,
'cname' => '动态'
)
);
$c = Array
(
Array (
'cid' => 1,
'cname' => '关于'
),
Array (
'cid' => 7,
'cname' => '简介'
),
Array (
'cid' => 8,
'cname' => '文化'
),
Array (
'cid' => 9,
'cname' => '动态'
),
Array (
'cid' => 2,
'cname' => '歌剧'
),
Array (
'cid' => 3,
'cname' => '美剧'
),
Array (
'cid' => 4,
'cname' => '视频'
),
Array (
'cid' => 5,
'cname' => '娱乐'
),
Array (
'cid' => 6,
'cname' => '联系'
)
);
已知$a,参照$a把$b排序成$c的样子。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用自定义排序函数usort来一发
看了其他人的解法其实是需要
$a中元素完全和$b匹配才能排序,看了lz自己的解法,才知道题意是根据
$a中某个字段排序如果要完全匹配,就不是排序的问题了,也没必要整那么复杂:
如果lz的意思按照某个字段排序:
这个应该是多维数组排序问题,php中的 array_multisort可以用于多维数组排序。
具体实现代码就不写了,可以看看手册自己琢磨一下。
自己写好了,虽然是笨方法。