-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가 나를 원래의 정렬 된 배열로 다시 만들 것이라고 기대하지만, 나는 매번 다른 정렬 된 배열을 얻는다. 내가 뭘 잘못 했니?배열을 정렬하지 않는 이유는 무엇입니까?
왜 이렇게해야합니까? 뒤에 어떤 특정 목적? – RJParikh