编 写:袁 亮
时 间:2015-01-20
说 明:php数组的相关知识
一、相关概念
1、把有限个变量用同一个名字标识,然后使用不同的名称标识,标识称为下标。本身是一个集合
2、php数组有三种
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组
二、常用功能
1、数组创建
$data = array(//索引数组
'user_id' => 1535917,
'username' => 'yuanliang847',
'nickname' => '暗夜御林',
);
$data = array('yuanliang','暗夜御林');//如果数组很小,不需要跟上面似的,写成多行;索引数组
$data['username'] = 'yuanliang847';
$data[] = '暗夜御林';//索引数组,下标值自动加1
第一种方式key后面使用Tab键缩进保持代码对齐,不要打一堆空格,值的前面是一个空格
最后一个值的“,”可以省略,但建议不要省,方便其他人加一个下标的时候,忘了补从而出错
多维数组只是把其中的值value变成一个数组即可
2、循环遍历
foreach($data as $k=>$v){
echo $v."<hr />";
}
php数组使用最多的方式,没有之一
for循环只能对索引数组循环,而foreach可以对任意数组进行循环遍历
$k 是相应的数组下标,$v是对应的值
3、数组计算
$num = count($data);
多维数组也只记第一维的个数
三、数组打印调试
1、var_dump()
var_dump($data);
die();
这是php调试中最常使用的调试打印方法,任意类型的变量都可以打印
2、echo
echo $data['username'];
程序嵌套部分,都是使用的echo把php变量输出成对应的html
3、var_export()
var_export($data);
与var_dump类似,但是这个打印出来的内容,复制出来,可以直接复制给php变量使用,有些时候非常有用
$d = var_export($data,1);//把转化的数据变成字符串,经常会用来生成php文件
四、其他比较有用的功能
1、排序
sort ksort
排序的不同方式,有一堆sort结尾的函数,需要的时候,具体看函数列表
2、数组去重
array_unique
先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名
一般只对一维数组排,多维数组排没有任何意义
3、多个数组合并
array_merge
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引
4、查看给定的值在数组中是否存在
in_array($str,$arr)
一般我们只用在索引数组里
5、随机获取一个或者多个元素
array_rand
6、把数组中的值赋给一些变量
$data = array(1535917,'yuanliang847','暗夜御林');
list($user_id,$username,$nickname) = $data;
省去了多次赋值
7、与字符串的互相转换
字符串转索引数组:
explode(separator,string,limit)
数组转字符串:(不要使用join别名,高版本会报错,ps:没记错的话是5.3之后)
implode(separator,array)