PHP函数 array_keys() 返回数组键名建立新数组

记录最近做PHP项目的时候用到的数组函数,记性不如笔记。

今天说说 array_keys()。

函数介绍

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

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

如果提供了第三个参数 strict,其为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。

函数用法

array_keys(array,value)

参数及描述

array	必需,要操作的数组;
value	可选,指定的键值;
strict	可选,与 value 参数一起使用,如下两种情况
	true - 根据类型返回带有指定值的键名。
	false - 默认值。不依赖类型。

函数实例

实例1

<?php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a));
?>

输出:

Array ( [0] => a [1] => b [2] => c )

实例2:使用 value 参数

<?php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a,"Dog"));
?>

输出:

Array ( [0] => c)

实例3:使用 strict 参数 (false)

<?php
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",false));
?>

输出:

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

实例4:使用 strict 参数 (true)

<?php
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",true));
?>

输出:

Array ( [0] => 3)

array_keys()函数可用以下PHP代码替代:

$arr=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
foreach( $arr as $key => $value ){
	if( $key ){
		$arr_keys[] = $key;
	}
}
print_r($arr_keys);

输出:

Array ( [0] => a [1] => b [2] => c )

参考其它几个PHP数组类函数文章:

PHP函数 array_keys() 返回数组键名建立新数组

PHP函数 array_intersect_key() 返回以键名比较的数组交集的数组

PHP函数 array_filter() 用回调函数过滤数组中的元素

更多PHP函数请移步 php函数

参考W3School:PHP Array 函数