array_multisort()使用场景
最简单的情况,有两个数组:
$arr1 = array(6,2,4);$arr2 = array(1,3,5);
array_multisort($arr1,$arr2);var_dump($arr1); // 得到的顺序是2,4,6vart_dump($arr2); // 得到的顺序是3,5,1
由此可以看出6与2,2与3,4与5分别对应,然后跟据第一个数组升序排序,相应调整第二个数组的位置。
使用场景,用于array内部某个字段的排序,例如有这样一个array,想根据其中的pos字段升序把数组重新排序。
$info= array(
array(
'pos' => '2',
'name' => 'WeChat',
),
array(
'pos' => '1',
'name' => 'QQ',
),
array(
'pos' => '3',
'name' => 'AliPay',
),
);
此时可以借用array_multisort函数;
$ret =array();
foreach($info as $value){
$ret[] = $value['pos'];
}
array_multisort($ret, $info);
var_dump($info);
测试OK