<?php
$array = [
['id' => 1, 'sort_code' => 4],
['id' => 2, 'sort_code' => 2],
['id' => 3],
['id' => 4, 'sort_code' => 8],
['id' => 5],
['id' => 6, 'sort_code' => 6]
];
uasort($array, function($a, $b) {
echo "\n" . json_encode($a) . " -vs- " . json_encode($b) . " eval: ";
echo $eval = (int)(isset($a['sort_code'], $b['sort_code']) && $a['sort_code'] > $b['sort_code']);
return $eval;
});
echo "\n---\n";
var_export($array);
echo "\n======\n";
uasort($array, function($a, $b) {
echo "\n" . json_encode($a) . " -vs- " . json_encode($b) . " eval: ";
echo $eval = ($a['sort_code'] ?? 0) <=> ($b['sort_code'] ?? 0);
return $eval;
});
echo "\n---\n";
var_export($array);
preferences:
109.34 ms | 406 KiB | 5 Q