PHP键值排序问题求助

现在有两个数组是这样的,但是第二个数组的键不是按原来的样子排列
image.png
我希望的第二个数组的键是按照307,287,288,289...这样子排列
image.png
有什么办法可以解决这个问题吗?

阅读 2.4k
4 个回答

uksort,想怎么排就怎么排。

无非是让第二数组根据第一个数组的值进行排序,得到第三个数组$c,简化如下

$a = [0,2,1];
$b = ["aaaa","bbb","ccc"];

foreach ($a as $v) {
    $c[]=$b[$v];
}

print_r($c);
// [aaa,ccc,bbb]
$a = [307, 287, 288, 289, 290];
$b = [
    287 => '287.png',
    288 => '288.png',
    289 => '289.png',
    290 => '290.png',
    307 => '307.png'
];
array_walk($a, function(&$v) use ($b) {
    $v = $b[$v];
});
print_r($a);

输出结果:

Array
(
    [0] => 307.png
    [1] => 287.png
    [2] => 288.png
    [3] => 289.png
    [4] => 290.png
)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题