問題
怎麼又輸出答案,又提示錯誤,請看代碼
解決方法
define(PI,3.14);
for($r = 1; $r<=8; $r++)
{
$area = PI * $r * $r;
echo "r=$r, area=$area";
echo "
";
}
?>
輸出的錯誤提示是:Notice: Use of undefined constant PI - assumed 'PI' in D:Program FilesApache GroupApache2htdocs123.php on line 3
參考答案
這不是錯誤,只是“注意”而已,可以關掉
在程序最頂部加上這個
error_reporting(E_ALL ^ E_NOTICE);
參考答案
define()當中第二個參數是需要加上單引號的,否則賦值會失敗,導致常量沒有被聲明,調用的時候自然會出錯.
參考答案
它要注意什麼?我的代碼又沒錯!
define裡為什麼要把3.14加單引號,PI的值是3.14不是已經很明白了嗎?
我剛學PHP,真搞不明白~~
參考答案
bool define ( string $name , mixed $value [, bool $case_insensitive ] )
不用加引號,否則就變成了string類型了,你gettype看看。
參考答案
[img]http://www.111cn.cn/bbs/images/smilies/default/sweat.gif[/img]
建議你先把php的語法看完了再寫代碼吧,define(DZ,'我不叫大臉貓'),整個代碼的意思就是將常量DZ的值設置為單引號內部的字符串'我不叫大臉貓'.對你來說很明顯的東西對程序來說並不一定就是合理的.
參考答案
搞錯了,第一個參數也要加單引號,5樓說的這個對於php這種弱類型的語言不需要考慮的這麼周到,是否是字符串類型的取決於你將要對它執行什麼樣的操作.
參考答案
define(DA,'123');
define('DB','123');
define('DC',123);
echo gettype(DZ),gettype(DB),gettype(DC);
第三個才是嚴謹的。沒錯是因為php語言本身的問題。
復制代碼
參考答案
養成良好的編程習慣,受教了
參考答案
小弟拜謝!