PHP中的 array_keys() 和 array_key_exists() 有什么区别?
下面的文章指出了PHP中两个内置函数array_keys()和array_key_exists()之间的区别。
array_keys()函数: array_keys( )函数用于返回所有键或数组键的子集。此函数适用于索引数组和关联数组。
句法:
array_keys(array, value, strict)
参数:
- 数组:带有要检查的键的数组。
- value:要为其检索键的值。
- strict:检查变量数据类型的参数。
示例 1:
PHP
"SpringBoot",
"PHP 4.0" => "CodeIgniter",
"Python" => "Django",
"PHP 3.0" => "CodeIgniter"
);
// Searching for keys of codeigniter
$key1 = array_keys($arr, "CodeIgniter");
print("Keys for CodeIgniter : ");
print_r($key1);
print("");
// Searching for keys of wordpress
$key2 = array_keys($arr, "WordPress");
print("Keys for WordPress : ");
print_r($key2);
?>
PHP
");
// Searching for keys of string 5
// using strict parameter false
$key2 = array_keys($arr, "5", false);
print("Keys for '5' : ");
print_r($key2);
?>
PHP
输出:
Keys for CodeIgniter : Array ( [0] => PHP 4.0 [1] => PHP 3.0 )
Keys for WordPress : Array ( )
示例 2:
PHP
");
// Searching for keys of string 5
// using strict parameter false
$key2 = array_keys($arr, "5", false);
print("Keys for '5' : ");
print_r($key2);
?>
输出:
Keys for '5' : Array ( )
Keys for '5' : Array ( [0] => 4 )
array_key_exists() : PHP中的array_key_exists()方法用于验证指定键的数组。如果键存在,则返回布尔值true ,如果键不存在于数组中,则返回false 。
句法:
array_key_exists(key, array)
参数:
- key:要检查的值。
- 数组:带有要检查的键的数组。
例子:
PHP
输出:
key exists
差异:上述两种方法之间存在以下差异: array_keys array_key_exists It checks if the corresponding value is mapped to any key in the array. It checks if a key exists in the array. It returns an array. It returns a boolean value. It works for both uni and multi-dimensional arrays. It works only for uni-dimensional arrays. It can be used to match data type using strict parameter It can be used to match the only value It can also be used to retrieve all the keys of the array if the value parameter is blank. It simply checks for the specified key in the array.