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

來源:互聯網
上載者:User
變數為空白

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

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

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

$emptyList = ["",  0, 0.0, "0", NULL, FALSE, array(), $var, ];foreach($emptyListas$val) {    if ($val) {        var_dump($val);    }}

比較子: =====

  • ==只涉及到值的比較
var_dump(0 == '0.0'); //truevar_dump(0 == ''); //truevar_dump(0 == false); //true
  • === 同時涉及 值 與類型的比較, 更為嚴格
var_dump(0 === '0.0'); //falsevar_dump(0 === ''); //falsevar_dump(0 === false); //false
  • null 與 空值 通過== 比較, 除了 “0” ,都返回true:
$emptyList = ["",  0, 0.0, "0", NULL, FALSE, array(), $var, ];foreach($emptyListas$val) {    var_dump($val == null);}

empty, isset, isnull

  • empty:檢查一個變數是否為空白
$emptyList = ["",  0, 0.0, "0", NULL, FALSE, array(), $var, ];foreach ($emptyList as $e) {    var_dump(empty($e));}/*bool(true)bool(true)bool(true)bool(true)bool(true)bool(true)bool(true)bool(true)*/
  • isset:判斷變數var 存在並且值不是 NULL 則返回 TRUE,否則返回 FALSE。
$var = 1;var_dump(isset($var)); // trueunset($var);var_dump(isset($var)); // false$var = null;var_dump(isset($var)); // false
  • isnull: 判斷變數是否 為 null , 等價於 === null

注意

空值之間的==比較不一定返回 true :

// 不具傳遞性var_dump(0 == '0'); // truevar_dump('' == 0 ); // truevar_dump('0' == ''); // falsevar_dump(0 == []); // false

最佳實務

  • 空值判斷使用 empty 判斷;
  • isset 無法判斷存在但值為null的變數;
  • php ===== 差別在於後者同時進行類型相等判斷

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介紹了php 相等性比較 以及 empty,isset, isnull,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.