isset empty 参数可以是未定义的变量,不会产生警告。
isset 参数只能是变量,不能是数据。
empty($arr[x]) x是未定义元素,也不会产生警告,当$aa = $arr[x]就会产生警告了。
1 <?php 2 3 if(0 == null){ 4 echo "0 == null".PHP_EOL; 5 }else{ 6 echo "0 != null".PHP_EOL; 7 } 8 9 if('' == null){ 10 echo "'' == null".PHP_EOL; 11 }else{ 12 echo "'' != null".PHP_EOL; 13 } 14 15 if('0' == null){ 16 echo "'0' == null".PHP_EOL; 17 } 18 else{ 19 echo "'0' != null".PHP_EOL; 20 } 21 22 if('0' == false){ 23 echo "'0' == false".PHP_EOL; 24 } 25 else{ 26 echo "'0' != false".PHP_EOL; 27 } 28 29 if(false == null){ 30 echo "false == null".PHP_EOL; 31 }else{ 32 echo "false != null".PHP_EOL; 33 } 34 35 if('0'){ 36 echo "'0' is true".PHP_EOL; 37 }else{ 38 echo "!'0' is true".PHP_EOL; 39 } 40 41 $a = [null,null,1]; 42 if(isset($a[0])){ 43 echo '$a[0] isset true'.PHP_EOL; 44 }else{ 45 echo '$a[0] isset false'.PHP_EOL; 46 } 47 if(isset($a[2])){ 48 echo '$a[2] isset true'.PHP_EOL; 49 }else{ 50 echo '$a[2] isset false'.PHP_EOL; 51 } 52 if(isset($a[10])){ 53 echo '$a[10] isset true'.PHP_EOL; 54 }else{ 55 echo '$a[10] isset false'.PHP_EOL; 56 }