PHP -检查数组索引是否存在或为空[重复]

s5a0g9ez  于 2023-02-07  发布在  PHP
关注(0)|答案(3)|浏览(116)
    • 此问题在此处已有答案**:

What's quicker and better to determine if an array key exists in PHP?(11个答案)
昨天关门了。
有没有办法检查数组索引是否存在或者是nullisset()没有告诉你索引是不存在还是存在但是是null。isset($array[$index]) || is_null($array[$index])它不会工作,因为如果索引不存在,is_null将崩溃。
请问我怎样才能检查这个?是否有一种方法可以只检查是否存在,而不管它是否被设置为空?

quhf5bfb

quhf5bfb1#

函数array_key_exists()可以做到这一点,property_exists()用于对象,再加上Vineet1982所说的,谢谢你的帮助。

gcxthw6b

gcxthw6b2#

这是一个非常好的问题,你可以使用get_defined_vars()来解决这个问题:

$foo = NULL;
$a = get_defined_vars();

if (array_key_exists('def', $a)) {
   // Should evaluate to FALSE
 }; 

if (array_key_exists('foo', $a)) {
   // Should evaluate to TRUE
};

这将解决您的问题

bbmckpt7

bbmckpt73#

定义最简单:* * 一个

<?php
$array=array('raja'=>'value', 'john'=>'value2');
$var='raja';
echo array_key_exists($var, $array);
?>

<?php
$array=array('raja'=>'value', 'john'=>'value2');

echo isset($array['raja']) ? "exists" : "does not exist";
?>
//Output: exists

相关问题