Dies ist eine wirklich esoterische Frage, aber ich bin wirklich neugierig. Ich benutze Usort heute zum ersten Mal seit Jahren, und mich interessiert besonders, was genau vor sich geht. Angenommen habe ich die folgende Array bekommt:PHP's USORT Callback Funktion Parameter
$myArray = array(1, 9, 18, 12, 56);
Ich konnte diese Art mit usort:
usort($myArray, function($a, $b){
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
});
Ich bin nicht 100% klar, was mit den beiden Parametern wird auf $ a und $ b. Was sind sie und was repräsentieren sie? Ich meine, ich könnte annehmen, dass $ a das aktuelle Element im Array darstellt, aber womit wird es verglichen? Was ist $ b?
Ich konnte meine Array erhöhen Strings enthalten:
$myArray = array(
array("Apples", 10),
array("Oranges", 12),
array("Strawberries", 3)
);
und führen Sie die folgenden Schritte aus:
usort($myArray, function($a, $b){
return strcmp($a[0], $b[0]);
});
Und das würde mein Kind-Arrays in alphabetischer Reihenfolge auf den [0] Indexwert basierend sortieren. Aber das bietet keine Klarheit darüber, was $ a und $ b sind. Ich weiß nur, dass die Übereinstimmung dem Muster entspricht, nach dem ich suche.
Kann jemand Klarheit darüber geben, was tatsächlich stattfindet?
+1 Ich dachte immer das Gleiche. – alex