php中怎么判断是否在数组中

不及物动词 其他 368

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在PHP中,可以使用多种方式来判断一个值是否存在于数组中。下面介绍几种常用的方法:

    1. in_array() 函数
    in_array() 函数用于检查指定的值是否存在于数组中。如果存在,则返回 true;如果不存在,则返回 false。
    示例代码如下:
    “`
    $array = array(‘apple’, ‘banana’, ‘orange’);
    if (in_array(‘banana’, $array)) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }
    “`
    输出结果为:存在

    2. array_search() 函数
    array_search() 函数用于在数组中搜索指定的值,并返回其对应的键。如果找到,则返回对应的键;如果未找到,则返回 false。
    示例代码如下:
    “`
    $array = array(‘apple’, ‘banana’, ‘orange’);
    $key = array_search(‘banana’, $array);
    if ($key !== false) {
    echo ‘存在,键为:’ . $key;
    } else {
    echo ‘不存在’;
    }
    “`
    输出结果为:存在,键为:1

    3. isset() 或 array_key_exists() 函数
    isset() 函数用于检查数组是否存在某个键。如果键存在且对应的值不为 null,则返回 true;否则返回 false。
    array_key_exists() 函数与 isset() 的功能类似,但它会返回 true 或 false,不会受到值为 null 的影响。
    示例代码如下:
    “`
    $array = array(‘apple’ => ‘苹果’, ‘banana’ => ‘香蕉’, ‘orange’ => null);

    if (isset($array[‘banana’])) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }

    // 或者使用 array_key_exists() 函数
    if (array_key_exists(‘banana’, $array)) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }
    “`
    输出结果为:存在

    4. in_array() 函数的严格模式
    in_array() 函数还支持严格模式,即在比较时不仅比较值,还要比较值和类型。可以通过第三个参数设置为 true 来开启严格模式。
    示例代码如下:
    “`
    $array = array(1, ‘2’, true);
    if (in_array(2, $array, true)) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }
    “`
    输出结果为:不存在

    综上所述,以上是在PHP中判断一个值是否存在于数组的几种常用方法。根据不同的需求可以选择适合的方法来判断。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,要判断一个值是否存在于数组中,可以使用in_array()函数、array_search()函数、in_array()函数、array_key_exists()函数等。以下是具体的使用方法和示例:

    1. in_array()函数:
    in_array()函数用于判断一个值是否存在于一个数组中。它的语法如下:
    bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
    $needle表示要查找的值,$haystack表示要查找的数组,$strict表示是否使用严格模式进行比较(可选,默认为FALSE)。

    示例:
    $arr = array(‘apple’, ‘banana’, ‘orange’);
    if (in_array(‘banana’, $arr)) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }

    输出结果为:存在

    2. array_search()函数:
    array_search()函数用于在一个数组中搜索给定的值,并返回相应的键名。它的语法如下:
    mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
    $needle表示要查找的值,$haystack表示要查找的数组,$strict表示是否使用严格模式进行比较(可选,默认为FALSE)。

    示例:
    $arr = array(‘apple’, ‘banana’, ‘orange’);
    $key = array_search(‘banana’, $arr);
    if ($key !== false) {
    echo ‘存在,键名为:’ . $key;
    } else {
    echo ‘不存在’;
    }

    输出结果为:存在,键名为:1

    3. in_array()函数和array_search()函数的区别:
    in_array()函数只返回布尔值,表示给定的值是否存在于数组中,而array_search()函数则返回一个键名(即数组中该值的索引),不存在则返回false。因此,如果只需要知道一个值是否存在于数组中,则可以使用in_array()函数;如果需要获取该值在数组中的索引,则可以使用array_search()函数。

    4. isset()函数:
    isset()函数用于判断一个数组中的键是否存在。它的语法如下:
    bool isset ( mixed $var [, mixed $… ] )
    $var表示要判断的变量,也可以是一个数组的键。

    示例:
    $arr = array(‘apple’ => 1, ‘banana’ => 2, ‘orange’ => 3);
    if (isset($arr[‘banana’])) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }

    输出结果为:存在

    5. array_key_exists()函数:
    array_key_exists()函数用于检查给定的键名或索引是否存在于数组中。它的语法如下:
    bool array_key_exists ( mixed $key , array $array )
    $key表示要检查的键名或索引,$array表示要检查的数组。

    示例:
    $arr = array(‘apple’ => 1, ‘banana’ => 2, ‘orange’ => 3);
    if (array_key_exists(‘banana’, $arr)) {
    echo ‘存在’;
    } else {
    echo ‘不存在’;
    }

    输出结果为:存在

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,为了判断一个值是否存在于数组中,我们可以使用多种方法。以下是常用的几种方式:

    1、使用in_array()函数:此函数可以判断一个值是否存在于数组中。它的用法如下:
    “`
    bool in_array(mixed $needle, array $haystack [, bool $strict = FALSE ])
    “`
    其中,$needle是要搜索的值,$haystack是要搜索的数组,$strict表示是否进行严格的比较,默认为false(即非严格比较,会将字符串’1’和整数1视为相等)。

    示例代码:
    “`php
    $fruit = array(“apple”, “banana”, “grape”);
    if (in_array(“banana”, $fruit)) {
    echo “banana exists in the array”;
    } else {
    echo “banana does not exist in the array”;
    }
    “`

    2、使用array_search()函数:除了判断值是否存在于数组中,该函数还可以返回对应的键名。它的用法如下:
    “`
    mixed array_search(mixed $needle, array $haystack [, bool $strict = FALSE])
    “`
    其中,$needle是要搜索的值,$haystack是要搜索的数组,$strict表示是否进行严格的比较,默认为false。

    示例代码:
    “`php
    $fruit = array(“apple”, “banana”, “grape”);
    $key = array_search(“banana”, $fruit);
    if ($key !== false) {
    echo “banana exists in the array, the key is $key”;
    } else {
    echo “banana does not exist in the array”;
    }
    “`

    3、使用isset()或array_key_exists()函数:如果要判断一个键名是否存在于数组中,可以使用isset()或array_key_exists()函数。

    isset()函数用法如下:
    “`
    bool isset(mixed $key, array $array)
    “`
    示例代码:
    “`php
    $fruit = array(“apple”, “banana”, “grape”);
    if (isset($fruit[1])) {
    echo “index 1 exists in the array”;
    } else {
    echo “index 1 does not exist in the array”;
    }
    “`

    array_key_exists()函数用法如下:
    “`
    bool array_key_exists(mixed $key, array $array)
    “`
    示例代码:
    “`php
    $fruit = array(“apple”, “banana”, “grape”);
    if (array_key_exists(1, $fruit)) {
    echo “index 1 exists in the array”;
    } else {
    echo “index 1 does not exist in the array”;
    }
    “`

    4、使用foreach循环遍历数组:通过使用foreach循环遍历数组,可以逐一比较数组中的每一个值,以判断是否存在目标值。

    示例代码:
    “`php
    $fruit = array(“apple”, “banana”, “grape”);
    $exists = false;
    $searchValue = “banana”;
    foreach ($fruit as $value) {
    if ($value == $searchValue) {
    $exists = true;
    break;
    }
    }
    if ($exists) {
    echo “$searchValue exists in the array”;
    } else {
    echo “$searchValue does not exist in the array”;
    }
    “`

    需要注意的是,以上方法中的in_array()和array_search()函数在比较过程中,默认是进行松散比较(非严格比较)。如果要进行严格比较(类型和值都相等才判断为存在),可以将第三个参数设置为true。
    另外,在使用isset()和array_key_exists()函数判断键名是否存在时,要注意区分是否存在并且值为null的情况。因为isset()函数在键名为null的情况下返回false,而array_key_exists()函数会返回true。
    综上所述,以上是在PHP中判断一个值是否存在于数组中的几种常用方法。根据具体的情况和需求,可以选择最合适的方式进行判断。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部