echo "Hello"; 或 echo("Hello");。echo "A", "B", "C";(效能優於連接)。void),不可用於表達式賦值。print。<?php
$myString = "Hello!";
echo $myString;
echo "www.example.com!
"; // 直接輸出 HTML 標籤
?>
字串內含引號時,三種策略:
| 策略 | 範例 |
|---|---|
| 跳脫雙引號 | echo " |
| 單引號包雙引號 | echo " |
| Heredoc/Nowdoc | 大段 HTML 多行輸出 |
<?php
// 錯誤:雙引號衝突
// echo "Title
";
// 正確 1:跳脫
echo "Title
";
// 正確 2:單引號內含雙引號
echo "Title
";
// 正確 3:Heredoc (大段 HTML)
echo <<Title
多行內容不需跳脫引號
HTML;
?>
<?php
$my_string = "Hello Bob. ";
$my_number = 4;
$my_letter = 'a';
echo $my_string; // Hello Bob.
echo $my_number; // 4
echo $my_letter; // a
?>
<?php
$name = "Bob";
echo "Hello $name!"; // Hello Bob!
echo "Hello {$name}etta!"; // Hello Bobetta! (複雜變數需加大括號)
echo 'Hello $name!'; // Hello $name! (單引號不解析)
?>
echo 無法直接輸出陣列/物件(會觸發 Array to string conversion 通知),需迴圈或用 print_r/var_dump/json_encode:
<?php
$arr = ['a' => 1, 'b' => 2];
// echo $arr; // Notice: Array to string conversion
echo implode(', ', $arr); // 1, 2
echo json_encode($arr); // {"a":1,"b":2}
?>
. 運算子或 sprintf(),避免重複 echo。echo "A", "B", "C" 比 echo "A" . "B" . "C" 略快(避免建立中間字串)。PHP 5.4+ 永遠啟用 <?= $var ?>(不受 short_open_tag 影響),等同 <?php echo $var; ?>,模板中常用:
<p>歡迎,<?= htmlspecialchars($username) ?></p>
掌握 echo 的引號處理、變數插值與輸出策略,是撰寫乾淨、安全 PHP 模板的基礎。