首頁  >  文章  >  後端開發  >  php 相等性比較 以及 empty,isset, isnull

php 相等性比較 以及 empty,isset, isnull

WBOY
WBOY原創
2016-07-29 08:59:031316瀏覽

變數為空

以下的東西被認為是空的:

  • 「」 (空字串)
  • 0 (作為整數的0)
  • 0.0 (作為浮點數的0)」
  • 0.0 」 (作為字串的0)
  • NULL
  • FALSE
  • array() (一個空數組)
  • $var; (一個聲明了,但是沒有值的變數)

語句中空值傳回,以下代碼不會產生任何輸出,因為if 語句中的判斷都為false:

<code><span>$emptyList</span> = [<span>""</span>,  <span>0</span>, <span>0.0</span>, <span>"0"</span>, <span>NULL</span>, <span>FALSE</span>, <span>array</span>(), <span>$var</span>, ];
<span>foreach</span>(<span>$emptyList</span><span>as</span><span>$val</span>) {
    <span>if</span> (<span>$val</span>) {
        var_dump(<span>$val</span>);
    }
}</code>

比較運算符: =====

  • ==只涉及到值的比較
<code>var_dump(<span>0</span> == <span>'0.0'</span>); <span>//</span><span>true</span>
var_dump(<span>0</span> == <span>''</span>); <span>//</span><span>true</span>
var_dump(<span>0</span> == <span>false</span>); <span>//</span><span>true</span></code>
  • === 同時涉及值與類型的比較, 更為嚴格
<code>var_dump(<span>0</span> === <span>'0.0'</span>); <span>//</span><span>false</span>
var_dump(<span>0</span> === <span>''</span>); <span>//</span><span>false</span>
var_dump(<span>0</span> === <span>false</span>); <span>//</span><span>false</span></code>
  • null 與空值通過== 比較, 03:” ,都回傳true​​efleled , isset, isnull

empty:檢查一個變數是否為空

    <code><span><span><?php</span><span>$emptyList</span> = [<span>""</span>,  <span>0</span>, <span>0.0</span>, <span>"0"</span>, <span>NULL</span>, <span>FALSE</span>, <span>array</span>(), <span>$var</span>, ];
    <span>foreach</span>(<span>$emptyList</span><span>as</span><span>$val</span>) {
        var_dump(<span>$val</span> == <span>null</span>);
    }</span></code>
  • isset:判斷變數var 存在且值不是NULL 則傳回TRUE,否則傳回FALSE。
      <code><?php
      <span>$emptyList</span> = [<span>""</span>,  <span>0</span>, <span>0.0</span>, <span>"0"</span>, NULL, FALSE, array(), <span>$var</span>, ];
      foreach (<span>$emptyList</span> as <span>$e</span>) {
          var_dump(empty(<span>$e</span>));
      }
      /*
      bool(<span>true</span>)
      bool(<span>true</span>)
      bool(<span>true</span>)
      bool(<span>true</span>)
      bool(<span>true</span>)
      bool(<span>true</span>)
      bool(<span>true</span>)
      bool(<span>true</span>)
      */</code>
    • isnull: 判斷變數是否 為 null , 等價於 === null
      • 注意
      空值之間的

      ==

      比較不一定回傳true :

      <code><span>$var</span> = <span>1</span>;
      var_dump(<span>isset</span>(<span>$var</span>)); <span>// true</span><span>unset</span>(<span>$var</span>);
      var_dump(<span>isset</span>(<span>$var</span>)); <span>// false</span><span>$var</span> = <span>null</span>;
      var_dump(<span>isset</span>(<span>$var</span>)); <span>// false</span></code>
      最佳實踐

      空值判斷使用empty n;

        php
      • ==
      • ===
      • 差異在於後者同時進行型別相等判斷
      • ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
      • 以上就介紹了php 相等性比較 以及 empty,isset, isnull,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
    • 陳述:
      本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn