5月 7, 2020 - php开发 记一次数组的排序已关闭评论
记一次数组的排序
1:数组$a,和$b,$c如下,想要最终得到的结果是$a的键的排序按照$b的值去排$c
$a = [
23=>'b',
13=>'a',
33=>'c',
];
$b = [33,13,23];
$c = [
33=>'c',
13=>'a',
23=>'b'
];
方式1(错误):
若使用array_merge($c,$d);则数字的键则会被重新索引
使用+则保持原有的键不变
方式2:
正确的示例:
$a = [
23=>'b',
13=>'a',
33=>'c',
];
$b = [33,13,23];
// 使用键名比较计算数组的交集
$intersect_key = array_intersect_key(array_flip($b), $a);
// 使用后面数组的值替换第一个数组的值
$data = array_replace($intersect_key, $a);
结果如下: