これは非常に難解な質問ですが、私は本当に興味があります。今日、数年ぶりに usort を使用していますが、正確に何が起こっているのかに特に興味があります。次の配列があるとします。
$myArray = array(1, 9, 18, 12, 56);
これを usort でソートできます:
usort($myArray, function($a, $b){
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
});
$a と $b という 2 つのパラメーターで何が起こっているのか、私には 100% 明確ではありません。彼らは何ですか、そして彼らは何を表していますか。つまり、$a が配列内の現在の項目を表していると想定できますが、これは正確には何と比較されているのでしょうか? $bとは?
配列を増やして文字列を含めることができます。
$myArray = array(
array("Apples", 10),
array("Oranges", 12),
array("Strawberries", 3)
);
そして、次を実行します。
usort($myArray, function($a, $b){
return strcmp($a[0], $b[0]);
});
そして、[0] インデックス値に基づいて、子配列をアルファベット順に並べ替えます。しかし、これは $a と $b が何であるかを明確にするものではありません。探しているパターンに一致することだけを知っています。
誰かが実際に何が起こっているかについて明確にすることができますか?