<?php
///数组的第一种创建方式 //数组的值可以是任何类型的 //数组在内存中是连续存储的 $arr[0]=1; $arr[1]=5.3; $arr[2]="可以赋南方字符串"; $arr[3]=true; $arr[4]=NULL;//即使是null,也会占用一个空间 $arr[5]=0; for($i=0;$i<=5;$i++){ echo "第".($i+1)."个元素的值为:".$arr[$i]."<br/>"; } //取得数组的大小 echo "数组的大小为:".count($arr)."<br/>"; //数组的第二种创建方式 $arr2=array(1,3,4,5,null,true,"第二个数组的结尾"); for($i=0;$i<=6;$i++){ echo "第二个数组第".($i+1)."个元素的值为:".$arr2[$i]."<br/>"; } ///数组的第三种创建方式 //给数组中的元素指定key $arr3["parking"]="北京"; $arr3["logo"]="logo"; echo $arr3[5]; //也可以通过以下方式创建 //$arr3=array("parking"=>"北京","logo"=>"logo"); echo "第三个数组的大小:".count($arr3)."<br/>"; // 无法通过此种方式访问数组中的元素 $arr3[0]; --->>$arr3["parking"]; foreach($arr3 as $key=>$val){ echo "第三个数组的遍历,通过foreach方式:".$key."=".$val."<br/>"; } foreach($arr3 as $val){ echo "第三个数组的遍历,通过foreach方式:".$val."<br/>"; } //注意事项 //如果对给给出的值没有指定键名,则去当前最大的整数索引值,而新的键名将是该值加一 //如果指定的键名已经有了值,则该值会被覆盖 //这个数组和下面的数组是一样的 $arr4 = array(5=>43,32,56,"b"=>12); $arr4 = array(5=>43,6=>32,7=>56,"b"=>12); //使用true作为键名将使integer 1成为键名,使用false作为键名将使integer 0 成为键名 //使用null作为键名将等同于使用空字符串"" 使用小数作为键名,自动截取小数部分 $a=array("abc"=>"123",12.6=>"hello"); $a[3]="23";//php的数组是可以动态的增长的 //打印数组 print_r($a); //显示信息为 //Array([abc]=>123[12]=hello); //发生数组下标越界错误的时候,程序会继续执行 /关于数组的几个重要的函数 //统计数组的大小count(); //判断是否是一个数组 is_array(); echo is_array($arr4)."<br/>"; //拆分字符串 explode(); $str="北京,天津,哈尔滨"; $arr5=explode(",",$str); var_dump($arr5); echo "<br/>"; print_r($arr5); / 在数组中unset的使用 删除之后不会该数组重建索引 $arr6[0]="0号"; $arr6[1]="1号"; $arr6[2]="2号"; echo "unset前:<br/>"; print_r($arr6); echo count($arr6); unset($arr6[1]); echo "unset后:<br/>"; print_r($arr6); echo count($arr6); //多维数组的定义 $arr=array(array(1,2,34,4),array(23,2,3)); echo $arr[1][3]; ?>