在 PHP 中,字串實際上就是字元陣列。定義一個字串 $string = "hello world",它由字元 h, e, l, l, o, 空格, w, o, r, l, d 組成。至於結尾方式需查看 PHP 原始碼才能確知。
<?php
$string = "hello world";
// 存取第 3 個字元(索引 2)
echo $string[2]; // 輸出:l
// 修改單一字元
$string[2] = "A";
echo $string; // 輸出:heAlo world
// 嘗試用字串覆蓋單一字元位置
$string[2] = "AAAAAA";
echo $string; // 輸出:heAlo world(PHP 做了安全處理,只取第一個字元)
?>
$string[n] 可讀取第 n+1 個字元$string[n] = 'X' 可修改單一字元substr() 等函數for ($i=0; $i<strlen($s); $i++) { $ch = $s[$i]; ... } 效能優於函數呼叫mb_substr() 或轉碼處理深入理解 PHP 字串內部結構(zend_string)、複製寫入(Copy-on-Write)機制、以及 PHP 7/8 對字串效能的優化,可參考 PHP 官方原始碼與內核文件。