在 PHP 的世界里,'0.0'、'0.00'和'0.000' 'false'是否被認為為空?


在 PHP 的世界里,'0.0'、'0.00'和'0.000'是否被認為為空?

     我們經常需要對0, 0.0,'0',false,null,'',"",array() 等等這類數據判斷是否為空,下面來整理一下。

      1、以下變量都被認為是空。

      ' ' (空字符串)
      0 (作為整數的0)
      0.0 (作為浮點數的0)
      "0" (作為字符串的0)
      null
      false
      array( )(一個空數組)
      $var;(一個聲明了,但是沒有值的變量)

     2.  運行一下

 1 <?php
 2 
 3 if (empty(0.0)){
 4     echo 1;
 5 }else{
 6     echo 2;
 7 }
 8 
 9 // 結果為1 
10 
11 if (empty("0.0")){
12     echo 1;
13 }else{
14     echo 2;
15 }
16 
17 // 結果為2

   說明:

         1) PHP 認為 0.0 是空,同理 0.00 和 0.000 也會被等同 0.0、 '0'、"0" 一樣被認為是空,所以 empty 將返回 true 來表達 PHP 的規則。

         2) PHP中,'0,0'、'0.0'、'0.00'和'0.000',"false"並不被認為是空,所以 empty 將返回 false。

    3.  PHP作為弱語言類型,在比較值時會做隱式轉換

1 <?php
2 // 比較值
3 if (0.0=='0.0'){
4     echo 1;
5 }else{
6     echo 2;
7 }
8 
9 // 結果為1

    4. 判斷數組是否為空

    舉個例子

 1 <?php
 2 
 3 $arr = [""];
 4 if (empty($arr)) {
 5     echo "數組為空";
 6 } else {
 7     echo "數組不為空";
 8 }
 9 
10 // 結果:數組不為空

    所以在判斷數組是否為空的時候,應該要先用array_filter()過濾之后再來判斷,否則容易出現跟預期不符的結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM