数组、多维数组、数组函数
数组基本写作格式:
简单形式:array(value1,value2,......)
完整形式:array(key1 => value1, key2 => value2, ......)
其它形式:$arr[0]='20';
有键名的情况下访问数组的值:$arr['a']
数组遍历:
foreach($arr as $key => $val){
[相关$key或$val内容]
}
$info=array("A" => "wn","B" => "is","C" => "beautiful");
foreach($info as $value){ // 无键名模式
echo $value."<br>";
}
foreach($info as $id => $value){ // 有键名、键值模式
echo $id."---".$value."<br>";
}
二维数组与多维数组:其实就是数组里再次包含了数组类型的值
$arr=array(array("P","PP","PPP"), array("H","HH","HHH"));
echo $arr[1][2]; // 打印结果:HHH
数组打印可用函数:print_r($arr)
$arr = array(6=>"a", "b","c"); // 修改起始位的下标,后边的值自动递增替换,亦可中途改变下标
print)r($arr);
打印结果:
Array
(
[6] => a
[7] => b
[8] => c
)
删除数组的值(不会改变下标):unset($arr[3]); // 删除第四个值
判断是否为数组的函数:is_array()
$arr=array(array('4','444'),'2','7','6','8');
foreach($arr as $id => $v){
if(is_array($v)){
foreach($v as $vv){
echo $vv."个<br>";
}
}else{
echo $v."个<br>";
}
}
数组排序函数(下标重新排列):
正序为sort($arr)
倒序为rsort($arr)
键名排序为ksort($arr) // 按照ascii编码顺序排序
数组长度函数:count($arr)
数组求和函数:array_sum($arr)
作业:写一个无限遍历数组的函数并打印出内容
$arr2=array(array('1','2'),'3','4','5',array('6',array('7','8')));
function wn($arr){
foreach($arr as $id => $v){
if(is_array($v)){
wn($v);
}else{
echo $v."个<br>";
}
}
}
echo wn($arr2);