function sort_searches($a, $b)
{
return
(
(isset($b['Class_ID']) && !isset($a['Class_ID']))
||
($b['Results'] && !$a['Results'])
||
(is_array($a['Results']) && !$a['Results'] && !is_array($b['Results']))
);
}
Я использую эту функцию в usort()
.Предполагаемый эффект состоит в том, что список запросов будет отсортирован сначала по тому, есть ли у них Class_ID, а затем по результатам (с непустым массивом результатов> results === false> results === empty array ().отсортированный набор запросов будет выглядеть так:
Class_ID with results
Class_ID with results === false
Class_ID with results === array()
No Class_ID with results
No Class_ID with results === false
No Class_ID with results === array()
В настоящее время функции сортируются по результатам совершенно нормально, но не по тому, имеет ли поиск идентификатор Class_ID.
usort($searches, 'sort_searches')