在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 )