在PHP的数组中,如果你想将数组中所有键值提取出来组成一个新的数组,可以使用array_keys函数。

函数用法如:


分离出数组键名

array_keys(array,value)


W3C中是这样介绍的:

array_keys() 函数返回包含数组中所有键名的一个新数组。

如果提供了第二个参数,则只返回键值为该值的键名。

如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。


<?php$color=array("b"=>"blur","p"=>"pink","r"=>"red");print_r(array_keys($color,"red"));?>


结果:

Array([0]=>r)



strict 参数指定为 false, PHP不会使用全等比较 (===) 来严格检查键值的数据类型。

使用 strict 参数 (false):

<?php$num=array(1,2,3,"1");print_r(array_keys($num,"1",false));?>

输出:

Array([0]=>0[1]=>3)


strict 参数指定为true, PHP 会使用全等比较 (===) 来严格检查键值的数据类型。

使用 strict 参数 (true):

<?php$num=array(1,2,3,"1");print_r(array_keys($num,"1",true));?>

输出:

Array([0]=>3)


分离出数组键值

array_values(array)

其中参数array为指定的数组,返回一个新的数组。新数组由原数组的键值组成


<?php$color=array("b"=>"blur","p"=>"pink","r"=>"red");print_r(array_values($color));?>


输出:

Array([0]=>blur[1]=>pink[2]=>red)