數組(續)
多維數組:
<?php $products = array(array('TIR','tires',100),
array('OIL','oil',10),
array('SPK','Spark Plugs',4));
for($i=0;$i<3;$i++){
for($k=0;$k<3;$k++){
echo $products[$i][$k].' | ';
}
echo "\n";
}
?>
運行結果如圖:
上面的代碼定義了一個二維數組,通過嵌套可以定義更多維的數組,方法與上面類似。
數組排序
先從一維看起:
<?php
$products = array('Banana','banana','Apple','apple','Pear','pear',4,8,10);
sort($products,SORT_REGULAR);
for($i=0;$i<9;$i++){
echo $products[$i].'|';
}
echo "\n";
sort($products,SORT_NUMERIC);
for($i=0;$i<9;$i++){
echo $products[$i].'|';
}
echo "\n";
sort($products,SORT_STRING);
for($i=0;$i<9;$i++){
echo $products[$i].'|';
}
echo "\n";
sort($products,SORT_LOCALE_STRING);
for($i=0;$i<9;$i++){
echo $products[$i].'|';
}
echo "\n";
sort($products,SORT_NATURAL);
for($i=0;$i<9;$i++){
echo $products[$i].'|';
}
echo "\n";
sort($products,SORT_FLAG_CASE & SORT_STRING);
for($i=0;$i<9;$i++){
echo $products[$i].'|';
}
echo "\n";
?>
運行結果如圖:
此處我們調用了sort()函數來進行排序,第二個參數是可選的,有上述六種,第二個參數默認情況下(即第一個sort函數)所有大寫字母會在小寫字母前面,當指定了類型排序時,會有很多地方要注意,例如:數字2小於12,但字符串‘2’卻大於‘12’。SORT_LOCALE_STRING表示根據當前系統locale按字符串形式對數組進行排序。SORT_NATURAL以自然排序順序排序,類似組合字符串和數字進行排序。
asort():如果使用了鍵值對,它將按值升序。
ksort():如果使用了鍵值對,它將按鍵升序。
rsort():和sort()相反,它將降序排序。
arsort():和asort()相反,它將按值降序。
krsort():和ksort()相反,它將按鍵降序。