php数组常用操作记录
php数组常用操作记录
NO1:数组的键名和值
array_values($arr); 获得数组的值
array_keys($arr); 获得数组的键名
array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
in_array("xxx", $arr); 在数组中检索xxx
array_search("xxx", $arr); 在数组中检索xxx ,如果存在返回键名
array_key_exists("xxx", $arr); 检索给定的键名是否存在数组中
isset($arr['xxx']); 检索给定的键名是否存在数组中
NO2:数组的分段和填充
array_slice($arr, 0, 3); 可以将数组中的一段取出,此函数忽略键名
array_splice($arr, 0, 3); 函数从数组中移除选定的元素,并用新元素取代它。与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替
array_chunk($arr, 3, TRUE); 可以将一个数组分割成多个,TRUE为保留原数组的键名
array_pad($arr, 5, 'x'); 将一个数组填补到指定长度
array_push($arr, "xxx","yyy"); 将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
array_pop($arr); 将数组栈的最后一个元素弹出(出栈)
array_shift($arr); 数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
array_unshift($arr,"a",array(1,2)); 在数组的开头插入一个或多个元素
NO3:数组的排序
sort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
rsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
usort($arr,"function"); 使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)忽略键名的数组排序
asort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
arsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
uasort($arr,"function"); 使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)保留键名的数组排序
ksort($arr); 按照键名正序排序
krsort($arr); 按照键名逆序排序
uksort($arr,"function"); 使用用户自定义的比较函数对数组中的键名进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)
NO4:数组简单计算
array_merge($arr1, $arr2); 合并两个或多个数组
array_diff($arr1, $arr2); 返回差集结果数组
array_diff_assoc($arr1, $arr2, $arr3); 返回差集结果数组,键名也做比较
array_intersect($arr1, $arr2); 返回交集结果数组
array_intersect_assoc($arr1, $arr2); 返回交集结果数组,键名也做比较
NO5:其他
array_unique($arr); 移除数组中重复的值,新的数组中会保留原始的键名
array_reverse($arr, TRUE); 返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名
array_rand($arr, 2); 从数组中随机取出一个或 多个元素
shuffle($arr); 将数组的顺序打乱