array_keys():函数返回包含数组中所有键名的一个新数组。
返回包含数组中所有键名的一个新数组:
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a)
);
Array ( [0] => Volvo [1] => BMW [2] => Toyota )
array_values():函数返回一个包含给定数组中所有键值的数组,但不保留键名。
返回数组的所有值(非键名):
$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a)
);
Array ( [0] => Bill [1] => 60 [2] => USA )
array_flip():函数用于反转/交换数组中所有的键名以及它们关联的键值。
反转数组中所有的键以及它们关联的值(原数组有重复的值会被覆盖):
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$result=array_flip($a1)
;
print_r($result);
Array ( [red] => a [green] => b [blue] => c [yellow] => d )
in_array('a',$arr) 判断给定的值是否在数组中,返回bool值。
array_search('a',$arr) 在数组中搜索某个值,在则返回它的键,不在返回false。
isset($array[key])和array_key_exists(key,$array) 给定的键是否在数组中,返回bool值。
count($arr) 获取数组元素个数,返回个数。
array_change_key_case():函数将数组的所有的键都转换为大写字母或小写字母。
将数组的所有的键转换为大写字母:CASE_LOWER - 默认值。将数组的键转换为小写字母
$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");
print_r(array_change_key_case($age,CASE_UPPER)
);
Array ( [BILL] => 60 [STEVE] => 56 [MARK] => 31 )
array_count_values():函数对数组中的所有值进行计数。
对数组中的所有值进行计数:
$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a)
);
Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )
array_key_first($arr)/array_key_last($arr) 得到数组的第一个或最后一个键名。
array_pop():函数删除数组中的最后一个元素。
删除数组中的最后一个元素
$a=array("red","green","blue");
array_pop($a)
;这一步返回删除的元素值;
print_r($a);
Array ( [0] => red [1] => green )
array_push():函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
向数组尾部插入 "blue" 和 "yellow":
$a=array("red","green");
array_push($a,"blue","yellow")
;这一步返回4;
print_r($a);
Array ( [0] => red [1] => green [2] => blue [3] => yellow )
array_unshift():函数用于向数组插入新元素。新数组的值将被插入到数组的开头。
把元素 "blue" 插入数组中:
$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue")
;这一步返回3
print_r($a);
Array ( [0] => blue [a] => red [b] => green )
array_reverse():函数以相反的元素顺序返回数组。
以相反的元素顺序返回数组:
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a)
);
Array ( [c] => Toyota [b] => BMW [a] => Volvo )
array_sum($arr) array_product($arr) 对数组中所有的值求和或求乘积。
array_unique():函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。
移除数组中重复的值:
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
Array ( [a] => red [b] => green )
shuffle():函数把数组中的元素按随机顺序重新排列。
把数组中的元素按随机顺序重新排序:
$my_array = array("red","green","blue","yellow","purple");
shuffle($my_array)
;
print_r($my_array);
Array ( [0] => green [1] => yellow [2] => red [3] => purple [4] => blue )
array_rand():函数返回数组中的随机键名,或者如果您规定函数返回不止一个键名,则返回包含随机键名的数组。
返回包含随机键名的数组:
$a=array("red","green","blue","yellow","brown");
$random_keys=array_rand($a,3)
;
echo $a[$random_keys[0]]."<br>";
echo $a[$random_keys[1]]."<br>";
echo $a[$random_keys[2]];
blue
yellow
brown
array_chunk():函数把数组分割为新的数组块。
把数组分割为带有两个元素的数组:
$cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
print_r(array_chunk($cars,2)
);
Array ( [0] => Array ( [0] => Volvo [1] => BMW ) [1] => Array ( [0] => Toyota [1] => Honda ) [2] => Array ( [0] => Mercedes [1] => Opel ) )
array_column():返回数组中某个单一列的值
从记录集中取出 last_name 列:
// 表示由数据库返回的可能记录集的数组
$a = array(
array(
'id' => 5698,
'first_name' => 'Bill',
'last_name' => 'Gates',
),
array(
'id' => 4767,
'first_name' => 'Steve',
'last_name' => 'Jobs',
),
array(
'id' => 3809,
'first_name' => 'Mark',
'last_name' => 'Zuckerberg',
)
);
$last_names = array_column($a, 'last_name')
;
print_r($last_names);
Array ( [0] => Gates [1] => Jobs [2] => Zuckerberg )
array_combine():函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值:
$fname=array("Bill","Steve","Mark");
$age=array("60","56","31");
$c=array_combine($fname,$age)
;
print_r($c);
Array ( [Bill] => 60 [Steve] => 56 [Mark] => 31 )
array_fill_keys():函数使用指定的键和值填充数组。
使用指定的键和值填充数组:
$keys=array("a","b","c","d");
$a1=array_fill_keys($keys,"blue")
;
print_r($a1);
Array ( [a] => blue [b] => blue [c] => blue [d] => blue )
array_fill():函数用键值填充数组。
用值填充数组:
$a1=array_fill(3,4,"blue")
;
print_r($a1);
Array ( [3] => blue [4] => blue [5] => blue [6] => blue )
array_merge():函数把一个或多个数组合并为一个数组(索引数组相同的值也可以合并,索引从0开始;关联数组相同键名后面的数组会覆盖前面数组)。
把两个数组合并为一个数组:
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2)
);
Array ( [0] => red [1] => green [2] => blue [3] => yellow )
list(变量1,变量2,..)=$arr(val1,val2,..)将数组的值赋给变量:
list($a,'',$b) = array('aaa','bbb','ccc')
array_diff():函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。在返回的数组中,键名保持不变。
比较两个数组的键值,并返回差集:
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2)
;
print_r($result);
Array ( [d] => yellow )
array_diff_key():函数用于比较两个(或更多个)数组的键名 ,并返回差集。
$a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","c"=>"blue","d"=>"pink");$result=array_diff_key($a1,$a2); print_r($result);
Array ( [b] => green )
array_diff_asort($arr1,$arr2,..)带索引检查计算数组的差集,同时使用键名和值来进行差集计算。
array_intersect($arr1,$arr2,..)对比值取交集
array_intersect_key($arr1,$arr2,..)对比键取交集
array_intersect_asort(($arr1,$arr2,..)对比键值取交集