1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$testArr = [
    ['id'=>1,'msg'=>'aaa'],
    ['id'=>2,'msg'=>'bbb'],
    ['id'=>3,'msg'=>'ccc'],
    ['id'=>4,'msg'=>'ddd'],
    ];
$roler = [2,1,3,4];

usort($testArr,function($a,$b) use($roler){
    return (array_search($a['id'], $roler) < array_search($b['id'], $roler)) ? -1 : 1;
});


var_dump($testArr);
die();

输出结果:反正成功了 还有就是 第一层要是索引数组