一尘不染

isset vs空vs is_null

php

我正在尝试编写一个脚本,当用户上传文件且未输入名称时,将返回错误。我试过使用is_null,empty和isset,但它们都不起作用。例如,即使输入名称,下面的is_null也会返回错误。有人可以帮忙吗?

$caption = $_REQUEST[$name_input_name];

if(is_null($caption)) {
    $file->error = 'Please Enter a Title';
    return false;
}

阅读 242

收藏
2020-05-29

共1个答案

一尘不染

isset() 将检查是否设置了变量,即

<?php

echo isset($var); // false

$var = 'hello';

empty() 将检查变量是否为空,即

<?php

$emptyString = '';

echo empty($emptyString); // true

is_null()将检查NULL哪个与空值不同,因为它设置NULL为非空字符串。(NULL可能是一个令人困惑的概念)

由于您的标题是字符串,所以我想您想使用 empty()

if (!isset($_REQUEST[$name_input_name]) || empty($_REQUEST[$name_input_name])) {
    $file->error = 'Please Enter a Title';
    return false;
}
2020-05-29