<?php echo 1+true; //true -> 1 echo '<hr />'; echo 1+false; //false -> 0 echo '<hr />'; echo 1.1+false; echo '<hr />'; echo 1.1+true; echo '<hr />'; echo 1+null; //null -> 0 echo '<hr />'; echo 1 + 'a'; //不是以合法數字開始直接轉換成0 echo '<hr />'; echo 1 + 'true'; //這裏的true 是字符串這裏這裏 轉轉中成轉中成成 0 echo '<hr />'; echo 1 + '43king'; //這裏會自動截取到字符爲止 echo '<hr />'; echo 1+'3qu2e1nn4'; //只會截取到第一個數字 echo '<hr />'; echo 1+'8.8abv'; echo '<hr />'; echo 1+'3e2abc'; echo '<hr />'; echo '1.234561' + '2.222222'; echo '<hr />' ; echo 1 + '2.333333'; echo "<hr />"; echo 1.23 + 5.6666666; echo "<hr />"; echo true; // true -> 1 echo "<hr />"; echo false; // 直接輸出false 轉成 空字符 echo 'a',false,'b'; echo "<hr />"; echo null; // 直接輸出NULL 轉成 空字符 echo "A",NULL,"B"; echo "<hr />"; $var=1; $var=-123; $var=0;//false $var=1.2; $var=0.0;//false $var='';//false $var="";//false $var=" "; $var="0";//false $var='0.0'; $var='false'; $var=null;//false $var=array();//false $var=array(1,2,3,0,'',null); $var=fopen('test_6.php','r'); $var=new stdClass(); if($var){ echo 'true'; }else{ echo 'false'; } echo "<hr />"; $a = 0.1; $b = 0.7; var_dump(($a + $b) == 0.8); //false echo "<hr />"; //解決方法: $a = 0.1; $b = 0.7; var_dump(bcadd($a,$b,2) == 0.8); echo "<hr />"; $f = 0.58; var_dump(intval($f * 100)); echo "<hr />"; //解決方法: $f = 0.58; var_dump(bcmul($f,100)); echo 1.35 + bcmul($f,100);