1. 程式人生 > 實用技巧 >PHP比較陣列、物件是否為空

PHP比較陣列、物件是否為空

PHP簡單對比物件、陣列是不是為空:

 1 <?php
 2 /*簡單的比較物件和陣列是不是為空*/
 3 
 4 #定義空類EmptyClass
 5 class EmptyClass{}
 6 
 7 $emptyClass = new EmptyClass(); #例項化空類
 8 $stdClass = new stdClass(); #例項化stdClass,一個php的內部保留類;沒有屬性和方法的空類;
 9 $array = array(); #定義空陣列
10 
11 #第一種方法用empty()函式進行判定.
12 if(empty($emptyClass)){
13     echo
"\$emptyClass is empty."; #預期輸出 14 }else{ 15 echo "\$emptyClass is not empty."; #不是預期的 16 } 17 #輸出結果為:$emptyClass is not empty.這不是預期輸出,在預期裡應該是空類; 18 echo "<br>"; 19 20 if(empty($stdClass)){ 21 echo "\$stdClass is empty."; #預期輸出 22 }else{ 23 echo "\$stdClass is not empty."; #不是預期的 24
} 25 #輸出結果為:$stdClass is not empty.不是預期的,保留類,空的,但是可以向其中新增屬性; 26 echo "<br>"; 27 28 if(empty($array)){ 29 echo "\$array is empty."; #預期輸出 30 }else{ 31 echo "\$array is not empty."; #不是預期的 32 } 33 #輸出結果為:$array is empty.符合預期; 34 echo "<br>"; 35 36 #第二種方法用count()函式來判定一下; 37 echo "EmptyClass Count: " . count
($emptyClass); #輸出1; 38 echo "<br>"; 39 echo "std Class Count: " . count($stdClass); #輸出1; 40 echo "<br>"; 41 echo "array count: " . count($array); #輸出0; 42 echo "<br>"; 43 44 45 #第三種方法自定義函式進行判定 46 function getCount($var){ 47 $count = 0; #統計次數初始值為0 48 #條件開始,首先要判定是不是陣列或者物件; 49 if(is_array($var) || is_object($var)){ 50 #開始迴圈陣列或者物件 51 foreach ($var as $key=>$value){ 52 $count ++; #計數在每次迴圈後自增1; 53 } 54 } 55 unset($var); #在記憶體中是釋放變數; 56 return $count; #返回統計次數; 57 } 58 #呼叫函式進行判定 59 if(getCount($emptyClass) === 0){ 60 echo "\$emptyClass is empty."; #預期輸出 61 }else{ 62 echo "\$emptyClass is not empty."; #不是預期輸出 63 } 64 #輸出$emptyClass is empty.符合預期; 65 echo "<br>"; 66 if(getCount($stdClass) === 0){ 67 echo "\$stdClass is empty."; #預期輸出 68 }else{ 69 echo "\$stdClass is not empty."; #不是預期輸出 70 } 71 72 echo "<br>"; 73 if(getCount($array) === 0){ 74 echo "\$array is empty."; #預期輸出 75 }else{ 76 echo "\$array is not empty."; #不是預期輸出 77 } 78 echo "<br>"; 79 ?>

程式碼沒有意義,僅供學習交流。