isset() 和empty() - 使用什么
P粉165522886
P粉165522886 2023-10-16 20:54:57
0
2
481

你能帮助我改进我的编码风格吗?:) 在某些任务中我需要检查 - 变量是否为空或包含某些内容。为了解决这个任务,我通常会执行以下操作。

检查 - 该变量是否已设置?如果已设置 - 我检查 - 它是否为空?

<?php
    $var = '23';
    if (isset($var)&&!empty($var)){
        echo 'not empty';
    }else{
        echo 'is not set or empty';
    }
?>

我有一个问题 - 我应该在empty()之前使用isset() -有必要吗? TIA!

P粉165522886
P粉165522886

全部回复(2)
P粉514458863

在您的特定情况下:if ($var)

如果您不知道变量是否存在,则需要使用isset。由于您在第一行声明了它,因此您知道它存在,因此您不需要,不,不应该使用isset

对于 empty 也是如此,只是 empty 还结合了对值的真实性的检查。 empty 相当于 !isset($var) || !$var!empty 相当于 isset($var) && $varisset($var) && $var ==正确

如果您只想测试一个应该存在的变量的真实性if ($var) 就完全足够了。 .

P粉458913655

这取决于您要查找的内容,如果您只是想查看它是否为空,请使用 empty 因为它也会检查它是否已设置,如果您想知道某些内容是否已设置设置或不使用 isset

Empty 检查变量是否已设置,如果设置了,则检查变量是否为 null、""、0 等

Isset 只是检查它是否已设置,它可以是任何不为空的内容

对于,以下内容被视为空:

  • ""(空字符串)
  • 0(0 作为整数)
  • 0.0(0 作为浮点数)
  • “0”(0 作为字符串)
  • 错误
  • array()(空数组)
  • var $var; (声明了一个变量,但在类中没有值)

来自 http://php.net/manual/en/function.empty.php


正如评论中提到的,对于empty(),缺乏警告也很重要

PHP 手册

关于问题

PHP 手册


你的代码就可以了:


例如:

$var = "";

if(empty($var)) // true because "" is considered empty
 {...}
if(isset($var)) //true because var is set 
 {...}

if(empty($otherVar)) //true because $otherVar is null
 {...}
if(isset($otherVar)) //false because $otherVar is not set 
 {...}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!