-1
<?php
$items=[
['name'=>'a','require'=>[]],
['name'=>'b','require'=>['a']],
['name'=>'c','require'=>['b']],
['name'=>'d', 'require'=>['c']]
];
shuffle($items);
usort($items, function($a,$b){
if(in_array($b['name'],$a['require'])){
return -1;
}
if(in_array($a['name'],$b['require'])){
return 1;
}
return 0;
});
print_r($items);
我期待usort會回到我原來的排序數組,但每次我得到不同的排序數組。我做錯了什麼?爲什麼usort()不排序數組?
你爲什麼需要這樣做?任何背後的具體目的? – RJParikh