Parámetros de la función de devolución de llamada USORT de PHP
Esta es una pregunta realmente esotérica, pero soy realmente curioso. Estoy usando Usort por primera vez hoy en años, y estoy particularmente interesado en lo que está sucediendo exactamente. Supongamos que tengo la siguiente matriz:
$myArray = array(1, 9, 18, 12, 56);
Podría arreglar esto con usort:
usort($myArray, function($a, $b){
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
});
No estoy 100% seguro de lo que está pasando con los dos parámetros $ a y $ b. Qué son y qué representan. Quiero decir, podría suponer que $ a representa el elemento actual de la matriz, pero ¿con qué se compara esto exactamente? ¿Qué es $ b?
Podría aumentar mi matriz para incluir cadenas:
$myArray = array(
array("Apples", 10),
array("Oranges", 12),
array("Strawberries", 3)
);
Y ejecuta lo siguiente:
usort($myArray, function($a, $b){
return strcmp($a[0], $b[0]);
});
Y eso ordenaría mis matrices de niños en orden alfabético según el valor del índice [0]. Pero esto no ofrece ninguna claridad sobre lo que son $ ay $ b. Sólo sé que coinciden con el patrón que estoy buscando.
¿Alguien puede ofrecer algo de claridad sobre lo que realmente está ocurriendo?