现在有两个数组是这样的,但是第二个数组的键不是按原来的样子排列
我希望的第二个数组的键是按照307,287,288,289...这样子排列
有什么办法可以解决这个问题吗?
现在有两个数组是这样的,但是第二个数组的键不是按原来的样子排列
我希望的第二个数组的键是按照307,287,288,289...这样子排列
有什么办法可以解决这个问题吗?
<?php
$arr = [
1 => '小明',
2 => '小红',
3 => '小兰',
4 => '小华',
];
$sortBy = [3, 2, 4, 1];
$sortBy = array_fill_keys($sortBy, '');
$arr = array_replace($sortBy, $arr);
var_dump($arr);
参考资料:
无非是让第二数组根据第一个数组的值进行排序,得到第三个数组$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
)
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答726 阅读✓ 已解决
2 回答2.3k 阅读
1 回答689 阅读✓ 已解决
用
uksort
,想怎么排就怎么排。