四、PHP基础教程,数组的定义
四、PHP基础教程,数组的定义
4.1 数组的创建
1、$arr=array([key1 =>] value1,[[key2 =>] value2,...]);
其中$arr是数组名,array()是空数组,其中的key1、key2分别是数组元素value1、value2的索引(即用一个名字代替下标),它可以是整数或字符串,如果省略则默认为从0开始的整数列;数组元素可以是任意类型,包括数组。如:
$myArray=array(1,2,3);
$weekday=array(1=>"Monday",2=>"Tuesday",3=>"Wednesday",4=>"Thursday");
$month=array("Jan"=>"January","Feb"=>"February","Mar"=>"March","Apr"=>"April");
2、$arr[key]=value; //如:$weekday[1]="Monday";
$month["Apr"]="April";
3、$arr[]=value; 如果数组不存在,则创建数组并以0为索引加入元素;如果数组已存在,则以数组中各索引的最大值加1作为新元素的索引。
如:$arr[]="0"; //$arr[0]="0"
$arr[5]="5"; //$arr[5]="5"
$arr[]="6"; //$arr[6]="6"
4.2、数组的使用
用$arr[key]即可对数组中的某个元素进行读写操作。若要遍历数组中的所有元素,可以用foreach关键字,如:
遍历数组的第一种形式
<?
$arr=array("a","b","c","d");
foreach($arr as $key => $value) //在这里,相当于将$arr数组中某一元素的索引(也可以理解为下标)
//值赋值给变量$key,将值赋值给变量$value,变量名key和value也
//可以使用其它的名字
{
print "Key: $key => Value: $value<br/>";
}
?>
数组的初始化
1.数组名=array(值1,值2,值3,……,值n);
2.数组名=array("索引值" => "索引值所代表的实体",……)
例:$myArray=array(值1,值2,值3,……,值n);
$str=array("wang"=>"王五","li"=>"四");
数组的修改
例如:
<?
$myArr=array("id"=>3,"title"=>6);
$myArr["id"]=2;//KEY值为ID的元素的值被改为2
$myArr["title"]=20;//KEY值为TITLE的元素的值被改为20
?>
遍历数组的第二种形式
foreach(数组名 as $value)
每循环一次就将数组中的一个值赋值给变量$value——从0下标开始。
例:
<?php
$myArray=array("1"=>"土星","2"=>"火星","3"=>"金星");
foreach($myArray as $value)
{
echo $value . "<br>";
}
//用for循环也可以实现上面的效果(输出数组中各元素的值)
for($i=0;$i<4;$i++)
{
echo $myArray[$i];
}
foreach($myArray as $key=>$value)
{
echo "KEY是:$key; Value是:$value<br> ";
}
?>
4.3 常用数组函数
1、print_r()函数
语法:
print_r(数组名);
功能:输出指定数组的结构
2、二维数组的定义和使用
创建:数组名=array(array(值列表),array(值列表));//创建一个二维数组
输出方法:echo 数组名[下标][下标];
3、使用count函数统计数组中元素的个数:count($myArr);
使用is_array函数判断是不是数组: is_array($myArr);
另一种创建数组的函数使用一个字符串分割另一个字符串explode: 数组名=explode("key",value);
例:
<?
$a="1986-1983-1980";//创建一个字符串变量a
$myArr=explode("-",$a);//指定以"-"作为分隔符
?>
4、extract(array[,extract_rules][,prefix])函数
将数组中的键(KEY)当作变量名,值当作对应变量的值导出。第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。