四、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>n”;

}

?>

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() 函数如何对待这样的冲突。