您的位置:首页 > 编程语言 > PHP开发

PHP初学之数组

2016-03-08 18:17 696 查看
PHP中没有链表,也就是没有list,只有array,也就是数组

一、定义;以若干键值对的形式保存数据的一种方法,

二、创建;

1、直接存多个键值对

array$stu=array(key=>value,...)

key;键,可以是整形或string类型,数组里的key不能重复

value;值,可以是任意类型的值


2、多次添加单个键值对

$stu[key]=value;

$stu[‘说’]=’忽悠’;

$stu[‘学’]=’作弊’;

$stu[‘逗’]=’贫嘴’;

$stu[‘唱’]=’假唱’;



3、懒人专用


$stu=array(value1,value2,value3...)


$stu[]=’忽悠’;

$stu[]=’作弊’;

$stu[]=’贫嘴’;

$stu[]=’假唱’;



不写键,默认key为从0开始,依次递增,来自动分配,

三、增删改查;都是通过键来进行操作,

$arr=array(‘产品狗‘,’设计猫‘,’age‘=28,)

1、增

$arr[]=’key’=>’value’//也可以不写key,

2、删

$arr[key]//指定key直接删

键的增长不受删除操作的影响.就是说,把数组里的一个键值对删了,但是这个key没有消失,只是值没了

3、改

$arr[key]//指定key直接赋值覆盖

4、查

$arr[key]//指定key直接找

四、二维数组;就是数组里嵌套了另一个数组

$stu1=array(value1,value2,value3...)

$stu2=array($stu1,value2,value3...)

$stu2,就是一个二维数组

如何在2里找到1里的值$stu2[key1][key2],key1代表$stu1在stu2里的key,key2代表要找的值在stu1里的key

五、分类;PHP中键可以是字符串也可以是数组

1、索引数组;键是纯数字

2、关联数组;键不是纯数字。。。。

六、循环

1、for循环,适合键为数字且有规律的数组

$arr=array('春','夏','秋','冬');

for($i=0;$i<count($arr);$i++){
echo$arr[$i];
}

或效率更高的

for($i=0,$len=count($arr);$i<$len;$i++){
echo$arr[$i];
}

2、forerch

$arr=array('春','夏','秋','冬');
foreach
($arras$k=>$v){
echo$k,$v;
}

as;属于;把arr里的数据分配给k和v,k代表key,v代表value



foreach($arr
as$v){
echo$v;
}

简写,不要key,默认要value

七、游标;在数组内部,有一个指针,指针指着某一个单元,没循环一个单元,指针往尾部移动一位,在没有对数组进行操作的时候,为0.

1、

current—返回数组中的当前单元

mixedcurrent(array
&$array
)

end()-将数组的内部指针指向最后一个单元

key()-从关联数组中取得键名
each()-返回数组中当前的键/值对并将数组指针向前移动一步,返回数组
$arr=array(1,2,3,0,5);

for($i=0;$i<=count($arr);$i++){
echo$arr[$i];
}

这样会报Notice:Undefinedoffset:因为到0的时候,0默认为false,退出

$arr=array(1,2,3,0,5);

while($arr2=each($arr)){

echo$arr2[0],'`````',$arr2[1];
}
其中;0为arr的键.1为arr的值
prev()-将数组的内部指针倒回一位
reset()-将数组的内部指针指向第一个单元,归零
next()-将数组中的内部指针向前移动一位

在foreach开始时,会自动把游标指针归零

八、list;这不是真正的函数,而是语言结构,意为,她里面没有数据,只是一个方法、工具

1、简单快捷的把默认下标数组里的值赋给变量

$arr=array('春','夏','秋','冬');

list($chun,$xia,$qiu,$dong)=$arr;
echo$chun,$xia,$qiu,$dong;

2、把有下标数组里的值赋给变量

$arr=array(1=>'春',2=>'夏',3=>'秋');

list($chun,$xia,$qiu)=$arr;
echo$chun,$xia,$qiu;//打印null,春,夏

(1)、先对应

在list中,按,逗号隔开的顺序,从左到右,分别对应右侧的数组(如$arr)

$arr[0],$arr[1],$arr[2]…$arr
.

如果要对应的$arr[x]不存在,则当成null处理

$chun===$arr[0]
$xia===$arr[1]
$qiu===$arr[2]

(2)、再赋值

赋值的时候顺序是从右往左依次赋值,就是这个数组是先创建下标大的数据

$qiu===$arr[2]===夏

$xia===$arr[1]===春

$chun===$arr[0]===null
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: