PHP 检查数组中是否存在键
-
使用
array_key_exists()
函数检查 PHP 数组中是否存在键 -
使用
isset()
函数检查 PHP 数组中是否存在键 -
PHP 中的
array_key_exists()
与isset()
数组是 PHP 中的单个变量,其中包含许多元素。存储在数组中的每个元素都有一个唯一的索引,就像分配给它的数据库中的主键一样。你可以使用该索引访问数组的元素。你的脚本可能需要检查特定键是否存在才能对值执行操作。在本教程文章中,我们将讨论如何检查数组中是否存在特定键。
PHP 支持三种类型的数组:
- 索引数组 - 带有数字索引的数组,其中仅提供值。例如。
数组(1,2,3)
。 - 关联数组 - 具有命名键的数组,其中键也像 JSON 对象一样与值一起定义。例如。
数组(
第一个=> 1,
第二个=> 2)
。 - 多维数组——包含一个或多个嵌套数组的数组。例如。
数组(数组(
a,
b,
c),数组(
d,
e,
f),数组(
g,
h,
i))
。
PHP 提供了两种方法来找出数组是否包含键。首先,我们将了解这两种方法,然后比较它们以获得我们的结果。
使用 array_key_exists()
函数检查 PHP 数组中是否存在键
PHP 提供了内置函数 array_key_exists
,它检查给定的键或索引是否存在于提供的数组中。array_key_exists()
函数适用于索引数组和关联数组,但不会找到多维数组中的嵌套键。array_key_exists()
将仅在第一维中查找键。如果没有键值对存在,则数组将数字键视为从零开始的默认键。
array_key_exists()
的语法
array_key_exists(string|int $key, array $array): bool
参数
$key (mandatory)
:该参数指的是需要在输入数组中搜索的键/索引。$array (mandatory)
:这个参数指的是我们想要在其中搜索给定键/索引$key
的原始数组/干草堆。
返回值
如果找到键/索引,则返回 true,如果未找到键/索引,则返回 false。
示例代码
<?php
$search_array = array('first' => 1, 'second' => 2);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is found in the array";
} else {
echo "Key does not exist";
}
?>
输出:
The 'first' element is found in the array
使用 isset()
函数检查 PHP 数组中是否存在键
PHP 提供函数 isset()
,用于确定是否设置了变量;这意味着如果一个变量被声明并赋值为非空值。当变量被赋值为 null 时,isset()
将返回 false。
isset()
的语法
isset(mixed $var, mixed ...$vars): bool
你可以传递许多参数,如果提供了许多参数,那么只有在所有传递的参数都已设置时,isset()
才会返回 true。PHP 从左到右计算并在遇到未设置的变量时立即停止。
参数
$var
:要检查的第一个变量。$vars
:要检查的更多变量。
返回值
如果变量存在并且具有除 null 之外的任何值,则返回 true,否则返回 false。
示例代码
<?php
$search_array = array('first' => 1, 'second' => 2);
if (isset($search_array['first'])) {
echo "The 'first' element is found in the array";
} else {
echo "Key does not exist";
}
?>
输出:
The 'first' element is found in the array
PHP 中的 array_key_exists()
与 isset()
isset()
不会为对应于 null
值的数组键返回 true
,而 array_key_exists()
会返回 true
。
<?php
$search_array = array('first' => null, 'second' => 2);
echo isset($search_array['first']) ? "true" : "false";
echo "\n";
echo array_key_exists('first', $search_array) ? "true" : "false";
?>
输出:
false
true
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn