Вы можете использовать array_filter
с функцией callback
для удаления значений с помощью ZERO
$arr = array_filter($arr, function ($e) {return $e["priority"];});
Это удалит весь подмассив с приоритетами ZERO.
Теперь вы можете применить usort
для сортировки массива
usort($arr, function($a, $b) {
return $a['priority'] <=> $b['priority'];
});
См. Рабочий код Live