1 回答
TA贡献1813条经验 获得超2个赞
如果我没记错的话,您可以将usort$array_B
与自定义比较函数一起使用,通过使用array_search的值查找键$array_A
,然后比较它们。
$array_A[0]['name'] = "Robson";
$array_A[0]['value'] = "ROB";
$array_A[1]['name'] = "Morticia";
$array_A[1]['value'] = "MORT";
$array_B[0] = "Morticia";
$array_B[1] = "Robson";
usort($array_A, function($a, $b) use ($array_B) {
return array_search($a['name'], $array_B) > array_search($b['name'], $array_B);
});
print_r($array_A);
输出
Array
(
[0] => Array
(
[name] => Morticia
[value] => MORT
)
[1] => Array
(
[name] => Robson
[value] => ROB
)
)
PHP演示
在 php 7 中你还可以使用<=>spaceship 操作符
usort($array_A, function($a, $b) use ($array_B) {
return array_search($a['name'], $array_B) <=> array_search($b['name'], $array_B);
});
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报