php - 检查数组值是否已设置且为空

标签 php arrays isset isnull

如何检查数组变量

$a = array('a'=>1, 'c'=>null);

已设置且为空。

function check($array, $key)
{
    if (isset($array[$key])) {
        if (is_null($array[$key])) {
            echo $key . ' is null';
        }
        echo $key . ' is set';
    }
}

check($a, 'a');
check($a, 'b');
check($a, 'c');

在 PHP 中是否有可能具有检查 $a['c'] 是否为 null 以及 $a['b'] 是否存在而没有“PHP Notice: ...”错误的函数?

最佳答案

使用array_key_exists()而不是 isset(),因为如果变量为 nullisset() 将返回 false,而 array_key_exists() 只是检查键是否存在于数组中:

function check($array, $key)
{
    if(array_key_exists($key, $array)) {
        if (is_null($array[$key])) {
            echo $key . ' is null';
        } else {
            echo $key . ' is set';
        }
    }
}

关于php - 检查数组值是否已设置且为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17767094/

相关文章:

PHP/Wordpress - 根据纬度和经度查找最近的位置

arrays - R中的累积多维数组和

php - 如果我将 NULL 赋给变量,isset() 会返回 false 吗?

javascript - 用另一个对象的索引填充一个对象

PHP Memcached 问题

php - 即使未设置项目,isset() 函数也会返回 true

javascript - laravel 如何将数据传递到另一个 View

php - csv文件导入到mysql数据库使用php面临导入错误

php - Mysql中的排序机制

javascript - 在 HTML 中显示带有空格的 Javascript 数组