PHP CookBook Array
// 让索引数组从0开始
$presidents = array(1 => 'Washington', 'Adams', 'Jefferson', 'Madison');
// 使用 while list each 遍历数组
while(list($key, $value) = each ($arrays)) {
//
}
// 删除数组元素
unset()
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )
// 填充数组
array_pad( array $input , int $pad_size , mixed $pad_value )
// 判断是够存在 key
isset($array[$key])
array_key_exists($key, $array);
// 检查数组中是否存在某个值
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
// 交换数组中的键和值
array array_flip(array $array)
// 在数组中搜索给定的值,如果成功则返回相应的键名
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
// array_filter — 用回调函数过滤数组中的单元
array array_filter ( array $input [, callable $callback = "" ] )
// array_reverse — 返回一个单元顺序相反的数组
array array_reverse ( array $array [, bool $preserve_keys = false ] )
// 数组排序
sort()
asort() — 对数组进行排序并保持索引关系
rsort()
arsort() — 对数组进行逆向排序并保持索引关系
natsort() 自然排序,不打乱键值对
array_multisort() — 对多个数组或多维数组进行排序
$numbers = [0, 1, 2, 3];
$letters = ['a', 'b', 'c', 'd'];
array_multisort($numbers, SORT_NUMERIC, SORT_DESC, $letters, SORT_STRING , SORT_DESC);
// 将数组打乱
bool shuffle ( array &$array )
// array_unique — 移除数组中重复的值
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
// array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )
// array_walk_recursive — 对数组中的每个成员递归地应用用户函数
bool array_walk_recursive ( array &$input , callable $funcname [, mixed $userdata = NULL ] )
// 求数组的交集,并集,差集
$union = array_unique(array_merge($a, $b));
$intersection = array_intersect($a, $b);
$difference = array_diff($a, $b);
$difference = array_merge(array_diff($a, $b), array_diff($b, $a));