萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

PHP echo 輸出完整指南:字串、變數、HTML 與引號處理技巧

echo 基本特性

  • 語言構造,非函數,可省略括號:echo "Hello"; 或 echo("Hello");。
  • 可一次輸出多個字串(以逗號分隔):echo "A", "B", "C";(效能優於連接)。
  • 無回傳值(void),不可用於表達式賦值。
  • 輸出速度略快於 print。

輸出字串與 HTML

<?php
$myString = "Hello!";
echo $myString;
echo "
www.example.com!
"; // 直接輸出 HTML 標籤 ?>

引號處理:避開語法錯誤

字串內含引號時,三種策略:

策略範例
跳脫雙引號echo "
Title
";
單引號包雙引號echo "
Title
";
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" 略快(避免建立中間字串)。
  • 模板引擎(Blade、Twig、Latte)分離邏輯與視圖,大型專案建議採用。

短標籤輸出

PHP 5.4+ 永遠啟用 <?= $var ?>(不受 short_open_tag 影響),等同 <?php echo $var; ?>,模板中常用:

<p>歡迎,<?= htmlspecialchars($username) ?></p>

掌握 echo 的引號處理、變數插值與輸出策略,是撰寫乾淨、安全 PHP 模板的基礎。

copyright © 萬盛學電腦網 all rights reserved