📌  相关文章
📜  PHP中的 array_keys() 和 array_key_exists() 有什么区别?(1)

📅  最后修改于: 2023-12-03 14:45:28.017000             🧑  作者: Mango

PHP中的 array_keys() 和 array_key_exists() 有什么区别?

在 PHP 中,array_keys()array_key_exists() 都是处理数组中的键的函数。但是它们之间存在一些区别。

array_keys()

array_keys() 函数返回一个包含数组中所有键的新数组,它接受两个参数:要搜索的数组和可选参数 $search_value,表示要查找的值。

/**
 * 返回数组中所有键的新数组
 */
array_keys(array $array, mixed $search_value = null, bool $strict = false): array

如果省略 $search_value 参数,则返回原始数组的所有键。如果指定了 $search_value,则将返回该值在原始数组中的所有键。

该函数的主要用途是获取关联数组中的所有键。

array_key_exists()

array_key_exists() 函数检查指定的键是否存在于数组中,它接受两个参数:要搜索的键和要搜索的数组。

/**
 * 检查数组中是否存在指定的键
 */
array_key_exists(mixed $key, array $array): bool

如果在数组中找到了指定的键,则返回 true,否则返回 false

该函数的主要用途是检查关联数组中是否存在指定的键。

区别

区别 array_keys()array_key_exists() 的最主要的不同点在于它们的返回值和用途。

array_keys() 返回一个包含所有键的新数组,并用于获取关联数组中的所有键。

array_key_exists() 检查指定的键是否存在于数组中,并用于检查关联数组中是否存在指定的键。

因此,如果您只需要检查某个键是否存在于关联数组中,请使用 array_key_exists() 函数。如果您需要获取关联数组中的所有键,则使用 array_keys() 函数。