首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 入門:字串變數完整指南

     編輯:PHP 相關知識

什麼是字串?

字串是由零或多個字元組成的序列:字母、數字、空格、標點符號等。在 PHP 中,字串必須用引號括起來。

建立字串的兩種方式

引號類型範例特性
單引號'Hello World'字面值字串,**不解析變數**、**不解析跳脫序列** (除 \' 和 \\)
雙引號"Hello $name"**解析變數**、**解析跳脫序列** (\n, \t, \" 等)

基本範例

$name = 'Huige';
$str1 = 'Hello $name';      // 輸出:Hello $name
$str2 = "Hello $name";      // 輸出:Hello Huige
$str3 = "Line 1\nLine 2";   // 換行
$str4 = 'Line 1\nLine 2';   // 輸出字面:Line 1\nLine 2

引號巢狀與跳脫

方法 1:跳脫字元 \

$var = "Define \"platitude\", please."; // 雙引號內跳脫雙引號

方法 2:交替引號 (推薦)

$var = 'Define "platitude", please.'; // 單引號包雙引號
$var = "It's a beautiful day.";        // 雙引號包單引號

字串變數重新賦值

同一變數再次賦值會**覆蓋**舊值:

$book = 'High Fidelity';
$book = 'The Corrections'; // $book 現在為 'The Corrections'

字串連接運算子 .

用點號將多個字串合併:

$a = 'PHP 8';
$b = '效能強大';
echo $a . ':' . $b; // 輸出:PHP 8:效能強大

// 連接賦值運算子 .=
$title = 'Chapter 1';
$title .= ': Introduction'; // $title 變為 'Chapter 1: Introduction'

常用字串函數速查

函數用途範例
strlen()取得位元組長度strlen('中文') → 6 (UTF-8)
mb_strlen()取得字元數 (多位元組安全)mb_strlen('中文', 'UTF-8') → 2
strpos()尋找子字串首次出現位置strpos('abcde', 'cd') → 2
substr()截取子字串substr('abcde', 1, 2) → 'bc'
mb_substr()多位元組安全截取mb_substr('中文測試', 0, 2, 'UTF-8') → '中文'
str_replace()字串替換str_replace('old', 'new', $str)
explode()分割字串為陣列explode(',', 'a,b,c') → ['a','b','c']
implode()陣列合併為字串implode('-', ['a','b','c']) → 'a-b-c'
trim()移除首尾空白trim(' hello ') → 'hello'
sprintf()格式化字串sprintf('%04d', 7) → '0007'

單引號 vs 雙引號:效能與選擇

  • 單引號:解析速度略快 (不掃描變數),適合純靜態字串、不需插值場景
  • 雙引號:支援變數插值、跳脫序列,語法更便利,現代 PHP 效能差異可忽略
  • 最佳實踐:預設用雙引號,需大量靜態字串或包含變數字面值時用單引號

Heredoc & Nowdoc (多行字串)

// Heredoc:雙引號行為 (解析變數)
$str = <<

總結

字串是 PHP 最基礎也最常用的資料類型。掌握 引號差異、跳脫規則、連接運算子、核心函數 (mb_* 系列),並養成**輸出時用 htmlspecialchars() 防 XSS** 的習慣,是寫出安全、正確 PHP 程式的關鍵第一步。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved