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

你能幫我改進我的程式設計風格嗎? :) 在某些任務中我需要檢查 - 變數是否為空或包含某些內容。為了解決這個任務,我通常會執行以下操作。

檢查 - 該變數是否已設定?如果已設定 - 我檢查 - 它是否為空?

<?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學習者快速成長!