To naprawdę ezoteryczne pytanie, ale jestem naprawdę ciekawy. Korzystam z usort po raz pierwszy od wielu lat i jestem szczególnie zainteresowany tym, co się dzieje. Załóżmy, że mam następującą tablicę:Parametry funkcji zwrotnej USORT w PHP
$myArray = array(1, 9, 18, 12, 56);
mogłem uporządkować to z usort:
usort($myArray, function($a, $b){
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
});
nie jestem w 100% jasne, co się dzieje z tymi dwoma parametrami $ ai $ b. Czym są i co reprezentują. To znaczy, mógłbym założyć, że $ a reprezentuje bieżący element w tablicy, ale do czego dokładnie się to porównuje? Co to jest $ b?
mogę zwiększyć swoją tablicę zawierać ciągi:
$myArray = array(
array("Apples", 10),
array("Oranges", 12),
array("Strawberries", 3)
);
i uruchom następujące:
usort($myArray, function($a, $b){
return strcmp($a[0], $b[0]);
});
A to uporządkować moje Rodziny z tablic alfabetycznie oparte na [0] wartość indeksu. Ale to nie daje żadnej jasności co do wartości $ a i $ b. Wiem tylko, że pasuje do wzoru, którego szukam.
Czy ktoś może wyjaśnić, co faktycznie ma miejsce?
+1 Zawsze myślałem tak samo. – alex