smike
Новичок
PHP:
<?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 должна привести массив к исходному виду, но почему-то каждый раз возвращает разный результат. Подскажите пожалуста где я ошибся.
Последнее редактирование: