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

看板PHP作者 (LoserChan)時間11年前 (2014/11/06 10:54), 11年前編輯推噓3(309)
留言12則, 6人參與, 最新討論串1/1
如題 剛剛在跟著書上的範例作練習時 有一題讓我很不解 ... <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的平方為" 這段哪裡有錯? 而拆開又沒錯 謝謝大家!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.253.156.135 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1415242451.A.A6D.html ※ 編輯: perfects1988 (111.253.156.135), 11/06/2014 10:54:56

11/06 11:32, , 1F
我把你的程式碼拿去執行 沒有錯誤
11/06 11:32, 1F

11/06 11:32, , 2F
變數跟字串,是這樣嗎?(不確定,有請板上高手)
11/06 11:32, 2F

11/06 11:36, , 3F
我記得""裡的變數要用{}包起來
11/06 11:36, 3F

11/06 11:37, , 4F
"{$x}的平方為:".$func($x)."<br/>" 這樣就對了
11/06 11:37, 4F

11/06 11:41, , 5F
因為$x的平方為:被當作一個變數,但沒有所以是空值
11/06 11:41, 5F

11/06 11:44, , 6F
或是可以變成"".$x."的平方為:".$func($x)."<br/>";
11/06 11:44, 6F

11/06 11:47, , 7F
感謝各位~~不過書中完全沒提到要用"{$x}".....
11/06 11:47, 7F

11/06 11:48, , 8F
我一直以為直接用"$x"就可以了= =....
11/06 11:48, 8F

11/06 11:49, , 9F
還有我的環境是用webmatrix~~~
11/06 11:49, 9F

11/06 15:15, , 10F
顯然現在 "..." 內取代 $ 變數名稱不限英文數字
11/06 15:15, 10F

11/06 15:15, , 11F
安全的習慣是 "..." 內變數和訊息間留一個空格
11/06 15:15, 11F

11/12 01:14, , 12F
可以包,可以不包,不過原則上還是建議包起來
11/12 01:14, 12F
文章代碼(AID): #1KMkBJfj (PHP)
文章代碼(AID): #1KMkBJfj (PHP)