-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);
Ich erwarte, dass usort mich ursprünglichen sortierten Array rerturn, aber jedes Mal bekomme ich verschiedene sortierte Arrays. Was mache ich falsch?Warum usort() Array nicht sortieren?
warum sollten Sie dies tun müssen? ein bestimmter Zweck dahinter? – RJParikh