初次接觸PHP,我想使用PHP列印輸出久久乘法表的第一行,如下所示:
$i = 9; for($i = 1; $i <= 9; $i++) { echo '1 * '.$i.' = '.1*$i; }
發現瀏覽器報錯,提示法錯誤,
而假如我把1*$i放到一個變數裡,再做拼接,則沒有錯誤,請問這是為什嗎?
$i = 9; for($i = 1; $i <= 9; $i++) { $n = 1*$i; echo '1 * '.$i.' = '.$n; }
回複內容:
初次接觸PHP,我想使用PHP列印輸出久久乘法表的第一行,如下所示:
$i = 9; for($i = 1; $i <= 9; $i++) { echo '1 * '.$i.' = '.1*$i; }
發現瀏覽器報錯,提示法錯誤,
而假如我把1*$i放到一個變數裡,再做拼接,則沒有錯誤,請問這是為什嗎?
$i = 9; for($i = 1; $i <= 9; $i++) { $n = 1*$i; echo '1 * '.$i.' = '.$n; }
$i = 9;for($i = 1; $i <= 9; $i++) { echo '1 * '.$i.' = '.(1*$i);}這樣做,因為你不加括弧的話,首先連結符號串連數字1再乘以$i,就會報錯了
'.1*$i
這個寫法會報錯,PHP認為.
後面應該是個字串或者變數,而不應該是個整型。
echo '1 * '.$i.' = '.1*$i;
報錯如下
Parse error: syntax error, unexpected '.1' (T_DNUMBER), expecting ',' or ';' in F:\xampp\htdocs\test.php on line 7
如果點串連符和數字1之間沒有空格,此時的點不是串連符,點和數字1之間沒有空格表示0.1,此時就沒有串連符了,所以文法報錯。
如需對上述進行驗證,可以在 “.1”前面加個.
此時語句就變成echo '1 * '.$i.' = '..1*$i;
第一個點表示串連符,第二個點是小數的簡寫,0.1。
使用點串連符 串連 數字需要注意,可以加空格或者括弧避免此類情況出現。