<?php$prodects = array(array('TIR','Tires',100), array('OIL','Oil',10), array('SPK','Spark plugs',4));function compare($x,$y){ if($x[1] == $y[1]) //这里的x[1]和y[1]代表什么值? { return 0; }else if($x[1]<$y[1]) { return -1; }else { return 1; }}usort($products,'compare');foreach($products as $key){ echo '|'.$key.'|';}echo "<br />";?>
$ products = array(array('TIR','tires',100),
array('OIL','Oil', 10 ),
array('SPK','スパークプラグ',4));
usort($ products,'compare'); 明らかです。
x[1] と y[1] コードは 2 つの値、関数パラメーターを比較します。
x[1] と y[1] コードは 2 つの値、関数パラメーターを比較します。
こんにちは、2 つの値の比較であることはわかっていますが、この例によれば、これら 2 つの値は何でしょうか?
配列の各要素のインデックス 1 の値を比較に使用することを意味します。以下の赤でマークされた値:
','オイル」、10)、
- ‐''''''''''-'-------- array('SPK',' スパークプラグ', 4)); ($x,$y)
{
var_dump($x, $y); // 見てみればわかります
出力がないのは、$products が存在しないためです
配列の各要素の 1 つのインデックスの値が比較に使用されます。以下の赤でマークされた値:
$products = array(array('TIR',' Tire',100),
array(' ) array(' ) ;
function Compare($x,$y)
{
var_dump($x, $y); // 見てみれば分かります
ありがとう、これは良いアイデアですね。