in_array() 判断元素是否在数组内。第三个参数(true或false)表示判断类型。
array_search() 搜索数组元素并返回第一个对应的键名。找不到返回false。
array_change_key_case() 更改键名的大小写,由第二个参数(CASE_UPPER、CASE_LOWER)指定。系统常量不区分大小写。但最好都大写以便于区分。
注意:如果原数组键名相同但大小写不同,使用大小写转换后,后出现的键-值将会替换前面出现的键-值。
array_chunk() 将数组进行拆分,第二个参数指定拆分后的数组的长度,第三个参数可选,指定是否继承键名,默认为false。
array_combine() 通过两个数组(可以是关联数组)生成新数组。第一个数组元素值作为为键名,第二个数组对应元素值作为键值,两者必须相等,否者返回false。
array_diff() 比较与其他数组的键值差异,返回包含对应键值对的数组(差集)。
array_diff_key() 比较与其他数组的键名差异,返回包含对应键值对的数组(差集)。
array_diff_assoc() 键名与键值同时比较。键名和键值其中中有一处不一样就返回(差集)。(逻辑或)
<?php
function dump($arr){ //自定义一个函数用于输出数组和变量
echo "<pre>";
if(is_array($arr)){
print_r($arr);
}else{
var_dump($arr);
}
echo "</pre>";
}
$arr = array("patch","web_frame"=>"flask","php","arr"=>array("html",3),0,"html");
echo in_array("php",$arr,true)?"在数组中":"找不到";
dump(array_search("flask",$arr));
echo "键名转化为大写:<br/>";
dump(array_change_key_case($arr,CASE_UPPER));
echo "数组拆分生成新数组,继承键名:<br/>";
dump(array_chunk($arr,2,true));
echo "生成新数组:<br/>";
$arr_key = array("key1","key2","par_key3"=>"key3",4);
$arr_value = array("value1","sub_key2"=>"value2","sub_key3"=>"value3","value4");
dump(array_combine($arr_key,$arr_value));
echo "检索与其他数组的不同:<br/>";
$arr_key1 = array("key3","par_key","sub_key1",0);
$arr_key2 = array("key2","abc");
dump(array_diff($arr_key,$arr_key1,$arr_key2)); //可以与多个数组进行比较
dump(array_diff_key($arr_key,$arr_key1)); //检索与其他数组键名的不同,以数组形式返回
dump(array_diff_assoc($arr_key,$arr_key1));
?>
结果:
在数组中
string 'web_frame' (length=9)
键名转化为大写:
Array
(
[0] => patch
[WEB_FRAME] => flask
[1] => php
[ARR] => Array
(
[0] => html
[1] => 3
)
[2] => 0
[3] => html
)
数组拆分生成新数组,继承键名:
Array
(
[0] => Array
(
[0] => patch
[web_frame] => flask
)
[1] => Array
(
[1] => php
[arr] => Array
(
[0] => html
[1] => 3
)
)
[2] => Array
(
[2] => 0
[3] => html
)
)
生成新数组:
Array
(
[key1] => value1
[key2] => value2
[key3] => value3
[4] => value4
)
检索与其他数组的不同:
Array
(
[0] => key1
[2] => 4
)
Array
(
[par_key3] => key3
)
Array
(
[0] => key1
[1] => key2
[par_key3] => key3
[2] => 4
)
以上均为个人理解,初学php,如果有不对的地方,欢迎大家指正!