Functional Helpers
Sort Callback
usort uses a comparison callback to order complex values.
Sort Callback
sort_callback.php
<?php
function by_score($left, $right) {
return $left["score"] <=> $right["score"];
}
$firstScore = ;
$rows = [
["name" => "Ada", "score" => $firstScore],
["name" => "Linus", "score" => 3]
];
usort($rows, "by_score");
$firstName = $rows[0]["name"];
$firstValue = $rows[0]["score"];
echo "firstScore=" . $firstScore . "\n";
echo "firstName=" . $firstName . "\n";
echo "firstValue=" . $firstValue . "\n";
<?php
function by_score($left, $right) {
return $left["score"] <=> $right["score"];
}
$firstScore = ;
$rows = [
["name" => "Ada", "score" => $firstScore],
["name" => "Linus", "score" => 3]
];
usort($rows, "by_score");
$firstName = $rows[0]["name"];
$firstValue = $rows[0]["score"];
echo "firstScore=" . $firstScore . "\n";
echo "firstName=" . $firstName . "\n";
echo "firstValue=" . $firstValue . "\n";
<?php
function by_score($left, $right) {
return $left["score"] <=> $right["score"];
}
$firstScore = ;
$rows = [
["name" => "Ada", "score" => $firstScore],
["name" => "Linus", "score" => 3]
];
usort($rows, "by_score");
$firstName = $rows[0]["name"];
$firstValue = $rows[0]["score"];
echo "firstScore=" . $firstScore . "\n";
echo "firstName=" . $firstName . "\n";
echo "firstValue=" . $firstValue . "\n";
compare two rows
The callback returns how two values should be ordered.