时间:2021-07-01 10:21:17 帮助过:20人阅读
$aray1 = (
'key3' => 'value3',
'key2' => 'value2',
'key1' => 'value1
);
$aray2 = ('key1', 'key3', 'key2'); //看清楚了,顺序不是123哦
请问php有没有内置的函数可以通过$array2将$array1排序成如下格式:
$aray1 = (
'key1' => 'value1',
'key3' => 'value3',
'key2' => 'value2
);
我看了下array_multisort()的文档,但是好像不支持。
有两个数组如下:
$aray1 = (
'key3' => 'value3',
'key2' => 'value2',
'key1' => 'value1
);
$aray2 = ('key1', 'key3', 'key2'); //看清楚了,顺序不是123哦
请问php有没有内置的函数可以通过$array2将$array1排序成如下格式:
$aray1 = (
'key1' => 'value1',
'key3' => 'value3',
'key2' => 'value2
);
我看了下array_multisort()的文档,但是好像不支持。
貌似没有,array_multisort()主要是对多维数组排序
用用户自定义排序函数usort(),不过还是要自己写
foreach($array2 as $i => $key) {
$result[$key] = $array1[$key];
}
var_dump($result);
$data = array();
array_walk($aray2,function($value, $key) use($aray1, &$data){
$data[$value] = $aray1[$value];
});
print_r($data);
根据我的经验,是没有这样的内部函数的
可以自己写一个方法
可以自己写一个方法
自己写一个呗
只有自己根据排序规则写一个了