LZ之前一直学习Java,最近刚转php,将学习的笔记记录下来。
1.定义
个人首先觉得,php中的数组与Java相比,有个区别很大的地方就是定义。
数组大小:想想,我们在Java要定义一个数组,首先要知道:数组的基本类型、数组的大小。如果定义一个长度为3的int数组:
int[] intValue = new int[3];
int[] intVlaue = {1,2,3};
但是,在php中,则并不需要。需要的时候直接定义,自动追加到数组。(在这个性质上来说,有点像java里面的list)
$array_test[0] = 1;
$array_test[1] = 2;
$array_test[2] = 3;
$array_test[3] = 4;
数组下标:
无论是c++还是java。数组的下标只能是数字,从0开始,到数组的长度-1;然而,在php中下标也可以使字符串。
$person = array(
'name' => 'michael',
'school' => 'pt',
'age' => 15,
'sex' => 'boy'
);
$person['weight']= '60kg';
$contact = array(
1,
14 => 'mr mm',
'company A',
'Beijing',
14 => '110',
'[email protected]'
);
array(5) { [0]=> int(1) [14]=> string(3) "110" [15]=> string(9) "company A" [16]=> string(7) "Beijing" [17]=> string(10) "[email protected]" }
2.使用
回忆Java中对于数组(或者map)最常见的操作:遍历、获取map的Valus、key、长度、
遍历:
php中比较常见的遍历方式有两种,一种是用for,另一中是foreach。
其中for的用法,基本上和Java类似。foreach有些区别。
php中foreach:
foreach( array_expression as $param)
统计:
php中使用count()函数
获取vlaus
array_values
获取keys
array_keys()
拆分
array_slice()
合并
array_merge()
上面是我进场会用到的函数。但是还有几个函数,自己觉得功能不错,记下来、
排序:sort()
判断数组中是否存在某个值:in_array()
两个比较特殊的函数:array_filter()和array_walk();
array_filter(array input,callbck()):通过回调函数去过滤array数组中的元素。
array_walk(array_input,callback funname):对每个元素应用回调函数进行处理
3.删除数组元素:
unset()