array_multisort函数的使用场景

array_multisort()使用场景

最简单的情况,有两个数组:

$arr1 = array(6,2,4);

$arr2 = array(1,3,5);

array_multisort($arr1,$arr2);

var_dump($arr1); // 得到的顺序是2,4,6

vart_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






 

你可能感兴趣的:(PHP)