PHP基础篇----笔记-course3数组

                                                                     数组

/**

 * 自定义一个打印数组的函数

 */

注释用/+**+回车

一.数组的概念

      一组数据的集合。PHP中数组也是一组变量。

    1也可以看做是键值对的集合。可以使用键来获取相应的元素的值。

2键分为2类:数值键和关联键(数值和字母的混合字符串

3数组分为3类:索引数组(键是数值键)、关联数组(键是关联键)、多维数组

二.数组的声明

   (1)直接给元素赋值

      $arr1[0]='zsxy';

$arr1[2]='dx';

$arr1[3]='tt';

(2)array()函数定义数组

  $arr2=array('sxj','jjn','qxm',100,true);

array()函数里给出键和值

$arr3=array('name'=>'mzj','sex'=>'','age'=>18,'school'=>'工程大');

    ƒ 使用直接赋值方式来定义一个关联数组

$arr4['name1']='ys';

$arr4['name2']='yw';

关联数组中的键可以不加引号???

经证明:必须加引号!!不然会报错

(3)多维数组的定义

1、声明一个二维数组

  array函数中直接给出键值

$groupB[x']=array('name'=>'yw','sex'=>'' ,'age'=>18,'school'=>'工程大')

 

获取二维数组中的元素(例如成员2中的name

echo $groupAa['成员2']['name'];

 

$groupBb['成员1']['name']='yw';

$groupBb['成员1']['sex']='';

$groupBb['成员1']['age']=18;

$groupBb['成员1']['school']='工程大';

2、声明一个三维数组

直接赋值

array()函数

三.数组的遍历

1.for循环遍历数组

 使用for()循环的前提是:明确要循环的次数

PHP中使用count()函数来获取数组长度,写法是count(数组名)

使用for()循环可以遍历索引数组,不能遍历关联数组

2.使用foreach()循环

只获取到键值$v$k是用户随便定义的

 foreach ($arrSu as $v){

echo $v."- ";

}

同时获取到键名和键值

foreach ($arrSu as $k=>$v){

echo $k."=>".$v."<br/>";

}

使用foreach()循环可以遍历索引数组,也可以遍历关联数组

3.使用list()each()while()循环联合遍历数组

list()函数:使用数组中的元素给一组变量赋值

list()函数赋值时,依次从数组中取索引从0开始的元素,即如果有两个变量则把索引为01的元素赋过去,。。。如果没有找到,则报错

也就是如果list()中有3个变量,则数组必须含有0,1,2索引才可以赋值成功

1)注意:list()函数只适用于索引数组,且假定数组索引从0开始

2list()中变量的个数可以不等于数组长度

 

问题:foreach()each()的区别与联系

each()函数:

返回一个(由数组当前内部指针所指向的元素)的键名和键值组成的数组,

并把内部指针向前移动。该数组中包含4个元素,键名分别是1value0key

1=>当前内部指针所指向的元素的键值

value=>当前内部指针所指向的元素的键值

0=>当前内部指针所指向的元素的键名

key=>当前内部指针所指向的元素的键名

四.数组运算符

1、联合运算符+:把右边的数组附加到左边数组的后面,

注意:对于两个数组中重复的键名(索引),

则只取+号左边的数组中的元素值,右边的被忽略

2、相等运算符==(不相等!=或者<>

键名相同,键值相等

(1)键名相同时,数值型和字符串类型数字的元素视为相等;true==1

(2)当两个数组有相同的键值对时,即使存放顺序不一样,也是相等的

3.全等运算符===

1键值对相同,键名和键值的数据类型也一致,并且存放顺序一致,则视为全等。

2键名相同时,数值型和字符串类型数字的元素不全等(键值)

3键值对相同,但是存放顺序不一致时,也不全等

五.预定义数组

预定义数组:$_GET;$_POST

猜你喜欢

转载自blog.csdn.net/i_am_lonely/article/details/79587330