ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – isset()和empty() – 使用什么

2019-09-15 12:37:55  阅读:106  来源: 互联网

标签:php


你能帮助我改进我的编码风格吗?:)在我需要检查的一些任务中 – 变量为空或包含某些东西.为了解决这个任务,我通常会做以下几点.

检查 – 是否设置此变量?如果它已经设置 – 我检查 – 它是空的还是没有?

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

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

解决方法:

这取决于你在寻找什么,如果你只是想看看它是否为空,只需使用空,因为它检查它是否也被设置,如果你想知道是否设置了某些东西使用isset.

空检查是否设置了变量,如果是,则将其检查为null,“”,0等

Isset只是检查它是否设置,它可能是任何非空的

如果为空,则以下内容被视为空:

>“”(空字符串)
> 0(0为整数)
> 0.0(0作为浮点数)
>“0”(0为一个字符串)
> NULL
>假
> array()(一个空数组)
> var $var; (声明的变量,但在类中没有值)

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

如评论中所述,缺乏警告对于empty()也很重要

PHP Manual

empty() is the opposite of (boolean) var, except that no warning is
generated when the variable is not set
.

关于isset

PHP Manual

isset() will return FALSE if testing a variable that has been set to NULL

您的代码可以正常:

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

例如:

$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 
 {...}

标签:php
来源: https://codeday.me/bug/20190915/1804870.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有