PHP's USORT Callback Funktionsparameter

Das ist eine wirklich esoterische Frage, aber ich bin wirklich neugierig. Ich benutze Usort heute zum ersten Mal seit Jahren und bin besonders daran interessiert, was genau los ist. Angenommen, ich habe das folgende Array:

$myArray = array(1, 9, 18, 12, 56);

Ich könnte das mit usort sortieren:

usort($myArray, function($a, $b){
  if ($a == $b) return 0;
  return ($a < $b) ? -1 : 1;
});

Mir ist nicht 100% klar, was mit den beiden Parametern $ a und $ b los ist. 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 das genau verglichen? Was ist $ b?

Ich könnte mein Array so erweitern, dass es Zeichenfolgen enthält:

$myArray = array(
  array("Apples", 10),
  array("Oranges", 12),
  array("Strawberries", 3)
);

Und führen Sie Folgendes aus:

usort($myArray, function($a, $b){
  return strcmp($a[0], $b[0]);
});

Und das würde meine untergeordneten Arrays alphabetisch nach dem Indexwert [0] sortieren. Dies bietet jedoch keine Klarheit darüber, was $ a und $ b sind. Ich weiß nur, dass das Muster dem entspricht, das ich suche.

Kann jemand etwas Klarheit darüber bieten, was tatsächlich stattfindet?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage