php让一个数组中的某个键保持跟另外一个数组中的值排序

<?php
$a = array(1,3,5,2,4);
$b = array(array('id' =>5), array('id' =>1), array('id' =>4), array('id' =>3), array('id' =>2));

function a_sort($x, $y){
    global $a;
    $x_index = array_search($x['id'], $a);
    $y_index = array_search($y['id'], $a);
    return ($x_index > $y_index) ? 1 : -1;
}

//让$b中元素的顺序跟$a中的值保持一致
usort($b, 'a_sort');

var_dump($b);

输出:

Array
(
    [0] => Array
        (
            [id] => 1
        )

    [1] => Array
        (
            [id] => 3
        )

    [2] => Array
        (
            [id] => 5
        )

    [3] => Array
        (
            [id] => 2
        )

    [4] => Array
        (
            [id] => 4
        )

)

你可能感兴趣的:(排序)