[請益] 有關函數變數和echo

作者: perfects1988 (LoserChan)   2014-11-06 10:54:08
如題
剛剛在跟著書上的範例作練習時
有一題讓我很不解
...
<head>
...
<?php
function square($a=2){
return $a*$a;
}
?>
</head>
<body>
<?php
$x=4;
$func="square";
echo "基底為$x"; //正確的出現基底為4
echo "$x的平方為:".$func($x)."<br/>"; //出現錯誤
//Notice: Undefined variable: x平方
echo "$x"."的平方為".$func($x)."<br/>"; //正確的出現4的平方為16
?>
</body>
我很疑惑的是:
"$x的平方為"
這段哪裡有錯?
而拆開又沒錯
謝謝大家!!!
作者: onininon (萬)   2014-11-06 11:32:00
我把你的程式碼拿去執行 沒有錯誤
作者: ahoo122002 (承讓)   2014-11-06 11:32:00
變數跟字串,是這樣嗎?(不確定,有請板上高手)
作者: onininon (萬)   2014-11-06 11:36:00
我記得""裡的變數要用{}包起來"{$x}的平方為:".$func($x)."<br/>" 這樣就對了
作者: crossdunk (推噓自如)   2014-11-06 11:41:00
因為$x的平方為:被當作一個變數,但沒有所以是空值或是可以變成"".$x."的平方為:".$func($x)."<br/>";
作者: perfects1988 (LoserChan)   2014-11-06 11:47:00
感謝各位~~不過書中完全沒提到要用"{$x}".....我一直以為直接用"$x"就可以了= =....還有我的環境是用webmatrix~~~
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-11-06 15:15:00
顯然現在 "..." 內取代 $ 變數名稱不限英文數字安全的習慣是 "..." 內變數和訊息間留一個空格
作者: birkhofflee (Birkhoff)   2014-11-12 01:14:00
可以包,可以不包,不過原則上還是建議包起來

Links booklink

Contact Us: admin [ a t ] ucptt.com