php数组总结
1.创建数组:
$data[]=1; $data[]=2;
$data["one"] = "1'";$data["two"] = "2";
array(1,2,3,4);
array("one"=>"1","two"=>"2");
range(1,10);
range(0,20,2);//表示0-20的步长为2的数组,即偶数的数组
2.输出数组:
foreach($data AS $val){
echo($val);
}
向浏览器输出就是用print_r();
3.检查是否是数组:
is_array();
4.数组的操作:
4.1 在数组的头添加元素:array_unshift($data,"three",“foru") 返回的是数组
4.2 在数组的尾添加元素:array_push($data,"three",“foru") 返回的是数组
4.3 删除数组的头元素: array_shift($data") 返回的是被删去的头元素
4.4 删除数组的尾元素: array_pop($data) 返回的是被删掉的尾元素
4.5 搜索元素: in_array($data,$val) 返回布尔值
4.6 搜索关联数组键: array_key_exists("one",$data) 返回布尔值
4.7 搜索关联数组值: array_search("one",$data) 返回布尔值
4.8 获取数组键: array_keys($data) 返回键的数组
4.9 获取数组值: array_values($data) 返回值的数组
5.遍历数组:
5.1 指针移到下一个数组位置 next($data) 返回下一个数组元素的值
5.2 指针移到前一个数组位置 prev($data) 返回前一个数组元素的值
5.3 指针移到第一个数组位置 reset($data) 返回第一个数组元素的值
5.4 指针移到最后一个数组位置 end($data) 返回最后一个数组元素的值
5.5 获取当前数组键 key($data) 返回当前指针所在的数组建
5.6 获取当前数组值 current($data) 返回当前指针所在的数组值
6.确定数组的大小与唯一性:
6.1 数组的大小 count($data) 返回数组的个数
6.2 统计数组元素出现的频度 array_count_values() 返回对应的值与数目的数组
6.3 确定唯一的数组元素 array_unique() 删除重复的值,返回只有唯一值的数组
7.数组的排序:
7.1 逆置顺序 array_reverse() 返回数组,保持键值关联映射
7.2 置换数组的键与值 array_flip() 返回置换后的数组
7.3 数组升序排序 sort() 返回数组,不保持键值关联映射
7.4 数组升排序 asort() 返回数组,保持升序键值关联映射
7.5 数组降序排序 rsort() 返回数组,不保持键值关联映射
$data = array(20,3,60,10);function randfun($a,$b){if($a == $b){return 0;}return $a>$b ? 1: -1;}usort($data,'randfun');print_r($data); // Array ( [0] => 3 [1] => 10 [2] => 20 [3] => 60 )
8.数组的合并,拆分,结合与分解:
8.1 合并数组array_mergr($arr1,$arr2) 返回一个合并的数组,如果键值重复则被覆盖
8.2 递归追加数组 array_mergr_recursive($arr1,$arr2) 返回一个合并的数组,如果键值重复则则形成新的数组当做一个值,其键作为新的数组名
8.3合并两个数组array_combine($arrkey,$arrval) 返回新的数组,一组是为键,二组是对应值,两个数组大小要相同
8.4 拆分数组array_slice($arr,$offset) 返回从巨头到offset键值开始截断剩下的数组
8.5 接合数组 array_splice($arr,$offset) 返回删除从巨头到offset键值的值,返回所删除的数组
8.6 求数组的交集 array_intersect() 返回交集的数组,键是保留第一个数组的所在键
8.7 求关联数组的交集 array_intersect_assoc() 返回键和值有相同的值
8.8 求数组的差值 array_diff() 返回出现在第一个数组但是不出现在其他数组的值
8.9 求关联数组的差值 array_diff_assoc() 返回出现在第一个数组但是不出现在其他数组的值
8.10 返回随机数组 array_rand($arr,2) 随机返回2个值的数组
8.11 随机洗牌数组 shuffle() 返回随机排列的数组
8.12 对数组中的值求和 array_sum() 返回最终的和,如果是字符串则忽略
8.13 划分数组 array_chunk($data,4) 返回一个被拆了4个的多维数组