数组的概述和分类
<?php
//数组的概述和分类
//1,索引数组(索引数组就是以数组为键)
$arr=[0=>'name',1=>'email',2=>'姓名'];
$arr=['name','email','姓名'];
$arr=['name',5=>'email',3=>'姓名'];
//关联数组(就是以字符串为键)
//可以数组和字符串合写,但注意:如果是'2'单引号包起来的数字,属于字符串
$arr=['nameID'=>'20','email'=>'123qq.com','name'=>'中国人'];
$arr=['nameID'=>'20',3=>'123qq.com','name'=>'中国人'];
$arr=[20,'30','123qq.com','中国人'];
//printf('<pre>%s</pre>',print_r($arr,true));
//数组可以有很多种表达方式
$arr1['id']='20';
$arr1['age']=30;
//下面两个6都被解析为数字键,所以只能显示上面的这个
$arr1[6]='这就是我';
$arr1['6']='不要奇怪,这是字符串键';
$arr1['']='这是空字符串';
//给空自动识别为数字键,紧随上一个解析的数字键
$arr1[]='还是我';
//嵌套数组/多重嵌套数组:
//null就是空,不会输出
$arr2=NULL;
$arr2[]=[1,2,3,4,5];
$arr2[]=[9,8,7,[11,22,33,[66,55,44]]];
//使用list()进行数组解构
foreach($arr2 as list($a,$b,$c,list($aa,$bb,$dd,list($aaa,$bbb,$ccc)))){
printf('%s----<br>%s----<br>%s---<br>%s---<br>',$a,$b,$aa,$aaa);
}
echo $aa,'<br>';
//printf(print_r($arr2[1][3][3],true));
//printf('<pre>%s</pre>',print_r($arr2,true));
//数组遍历
//1,利用数组内部指针进行遍历
//current() 函数返回当前被内部指针指向的数组单元的值,并不移动指针。如果内部指针指向超出了单元列表的末端,current()返回 FALSE。
$stu=['id'=>'100',10=>202,'name'=>'百度','20'=>'age'];
// printf('[%s]=>%s<br>',key($stu),current($stu));
// next($stu);
// printf('[%s]=>%s<br>',key($stu),current($stu));
// next($stu);
// printf('[%s]=>%s<br>',key($stu),current($stu));
// next($stu);
// printf('[%s]=>%s<br>',key($stu),current($stu));
//2,自动遍历
//获取数组成员值/键和值
$stu=['id'=>'100',10=>202,'name'=>'百度','20'=>'age'];
foreach($stu as $key=>$value){
//获取键和值
//printf('[%s]=>%s<br>',$key,$value);
//获取值
printf('%s<br>',$value);
}
//对数组进行解构list()
//注意写法,要list()=$。如果是$=list()就属于语法错误
list($id,$rand,$name,$age)=$str;
echo $age;
//与值相关的函数
//array_values — 返回数组中所有的值
//print_r(array_values($stu));
$arr=[1,2,3];
print_r($arr);
print_r(array_values($arr));
echo '<hr>';
//in_array — 检查数组中是否存在某个值
$i='1';
echo (in_array($i,$arr)?'有' : '没有');
$arr=['hello','word','name'];
echo '<hr>';
$v='hello';
$inarr=(in_array($v,$arr))? '有的' : '没有的';
echo $inarr;
//array_search — 在数组中搜索给定的值,如果成功则返回相应的"键名"
echo '<br>';
$key=array_search('word',$arr);
echo $key;
//echo $arr[$key];
echo '<hr>';
//array_unique — 移除数组中重复的值
$array=[1,2,3,1,2,5,6];
print_r(array_unique($array));
总结:经过前几天的学习,对数组初步知识相对比较熟悉点了。还需要加油多 练下