有兩個數組如下:
$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);
根據我的經驗,是沒有這樣的內建函式的
可以自己寫一個方法
可以自己寫一個方法
自己寫一個唄
只有自己根據定序寫一個了