# PHP 型態比較與 empty, isset 判斷
這個是一個小程式,用來幫助釐清 PHP 內的型態比較,以及 empty
, isset
的行為。
<pre>
0==0: <?=intval(0==0)?>
0==false: <?=intval(0==false)?>
0=="": <?=intval(0=="")?>
0==null: <?=intval(0==null)?>
0==array(): <?=intval(0==array())?>
0===0: <?=intval(0===0)?>
0===false: <?=intval(0===false)?>
0==="": <?=intval(0==="")?>
0===null: <?=intval(0===null)?>
0===array(): <?=intval(0===array())?>
empty(0): <?php $a=0;?><?=intval(empty($a))?>
empty(false): <?php $a=false;?><?=intval(empty($a))?>
empty(""): <?php $a="";?><?=intval(empty($a))?>
empty(null): <?php $a=null;?><?=intval(empty($a))?>
empty(array()): <?php $a=array();?><?=intval(empty($a))?>
isset(0): <?php $a=0;?><?=intval(isset($a))?>
isset(false): <?php $a=false;?><?=intval(isset($a))?>
isset(""): <?php $a="";?><?=intval(isset($a))?>
isset(null): <?php $a=null;?><?=intval(isset($a))?>
isset(array()): <?php $a=array();?><?=intval(isset($a))?>
</pre>
# 執行結果
0==0: 1
0==false: 1
0=="": 1
0==null: 1
0==array(): 0
0===0: 1
0===false: 0
0==="": 0
0===null: 0
0===array(): 0
empty(0): 1
empty(false): 1
empty(""): 1
empty(null): 1
empty(array()): 1
isset(0): 1
isset(false): 1
isset(""): 1
isset(null): 0
isset(array()): 1