<?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];
?>
本文出自 “Kenan_ITBlog” 博客,请务必保留此出处http://soukenan.blog.51cto.com/5130995/1070520