PHP 面试题 目录

PHP 中如何判断数组中是否存在某个键或值?

推荐答案

在 PHP 中,可以使用以下方法来判断数组中是否存在某个键或值:

  1. 判断键是否存在:使用 array_key_exists() 函数或 isset() 函数。
  2. 判断值是否存在:使用 in_array() 函数。

判断键是否存在

-- -------------------- ---- -------
------ - ------- -- ------- ----- -- ----

-- -- ------------------
-- ------------------------- -------- -
    ---- -- ------ ----
-

-- -- -------
-- ----------------------- -
    ---- -- ------ ----
-

判断值是否存在

本题详细解读

1. 判断键是否存在

  • array_key_exists($key, $array):该函数用于检查数组中是否存在指定的键。如果键存在,返回 true,否则返回 false。即使键对应的值为 null,该函数也会返回 true

  • isset($array[$key]):该函数用于检查数组中是否存在指定的键,并且该键对应的值不为 null。如果键存在且值不为 null,返回 true,否则返回 false

2. 判断值是否存在

  • in_array($value, $array):该函数用于检查数组中是否存在指定的值。如果值存在,返回 true,否则返回 false。该函数默认是区分大小写的,可以通过第三个参数设置为 true 来进行严格类型比较。

注意事项

  • array_key_exists()isset() 的区别array_key_exists() 会检查键是否存在,即使值为 null 也会返回 true。而 isset() 只有在键存在且值不为 null 时才会返回 true

  • in_array() 的严格模式:默认情况下,in_array() 是松散比较的,即 '1'1 会被认为是相等的。如果需要进行严格比较,可以将第三个参数设置为 true

-- -------------------- ---- -------
------ - ----- ---- -----

-- ----
-- ------------ -------- -
    ---- -- - ----------
-

-- ----
-- ------------ ------- ------ -
    ---- -- - ----------
-

在严格比较模式下,in_array(1, $array, true) 将返回 false,因为 1'1' 类型不同。

纠错
反馈