数组(续)
多维数组:
<?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()相反,它将按键降序。