list() ; 把数组中的值赋值个一组变量,只用于数字索引从0开始的数组
$arr = [1,2,3,5,6];
list($one,$two,$three,$four,$five) = $arr;
echo $one.$two.$three.$four.$five ; //12356;
each();返回数组中当前的键值对,并将数组指针向前移动一步
each配合list()可遍历数组和关联数组
$arr = [1,2,3,4,5];
while(list($key,$value) = each($arr)){
echo $key.'=>'.$value;
}
//12345;
array_values();获取数组中所有值到一个数组,并自动添数字索引
$arr = ['name'=>'刘德华','age'=>20,'sex'=>'男'];
$arr1 = array_values($arr);
var_dump($arr1);
//: array(3) { [0]=> string(9) "刘德华" [1]=> int(20) [2]=> string(3) "男" }
array_keys();返回数组中所有的键值到一个数组.并自动添加数字索引
$arr = ['name'=>'刘德华','age'=>20,'sex'=>'男'];
$arr1 = array_keys($arr);
var_dump($arr1);
//: array(3) { [0]=> string(4) "name" [1]=> string(3) "age" [2]=> string(3) "sex" }
array_key_exists() ; 检查数组里是否有指定的键名或索引,返回true
$arr = ['name'=>'刘德华','age'=>20,'sex'=>'男'];
$query = array_key_exists('name',$arr);
if($query){
echo "找到了";
}else{
echo "没有找到";
}
//找到
in_array(); — 检查数组中是否存在某个值,返回true
$arr = ['name'=>'刘德华','age'=>20,'sex'=>'男'];
$query = in_array('刘德华',$arr);
if($query){
echo "找到了";
}else{
echo "没找到";
}
//找到了
count();计算数组中的单元数目,或对象中的属性个数
$arr = [1,2,3,4,5];
echo count($arr);
//5
array_count_values();统计数组中的值出现的次数,返回一个新的数组,键名是原数组的值,值是原数组值出现的次数,
$arr = [1,2,3,4,5,3,5,2];
$num = array_count_values($arr);
var_dump($num);
//array(5) { [1]=> int(1) [2]=> int(2) [3]=> int(2) [4]=> int(1) [5]=> int(2) }
array_unique();移除数组中重复的值,返回一个新的数组
$arr=[1,2,3,4,5,3,5,2];
$num = array_unique($arr);
var_dump($num);
//array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
array_filter();用回调函数过滤数组中的单元,返回新的函数
$arr = ['a' = >1,'b' = >2,'c' = >3,'d' = >4];
//奇数
function odd($var){
return $var%2! = 0;
}
$result = array_filter($arr,'odd');
print_r($result);
//Array ( [a] => 1 [c] => 3 )
array_map();为数组的每个元素应用回调函数,返回一个新的数组
$arr = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
function add($n){
return $n*2;
}
$newArr = array_map('add',$arr);
var_dump($newArr);
//array(4) { ["a"]=> int(2) ["b"]=> int(4) ["c"]=> int(6) ["d"]=> int(8) }
array_map();多数组应用
$arr=['a'=>1,'b'=>2,'c'=>3,'d'=>4];
$brr=['a'=>2,'b'=>3,'c'=>4,'d'=>5];
function add($n,$m){
return $n.'+'.$m.'='.$n+$m;
}
$newArr=array_map('add',$arr,$brr);
var_dump($newArr);
//array(4) { [0]=> int(3) [1]=> int(5) [2]=> int(7) [3]=> int(9) }
array_walk();自定义函数遍历数组中的每个元素做回调处理,成功返回true
$arr=['a'=>1,'b'=>2,'c'=>3,'d'=>4];
function test($n,$m){
echo $n.'=>'.$m.'<br>';
}
array_walk($arr,'test');
//1=>a,2=>b,3=>c,4=>d