PHP 開發中,字符串與數組互轉是高頻操作。本文系統整理 str_split、explode、implode 等核心函數,並補充 strpos、substr、strlen、大小寫轉換等常用字符串處理函數,附帶語法、參數說明與實戰示例,方便查閱。
將字符串按指定長度切分成數組元素。
str_split(string $string, int $length = 1): array
提示:length < 1 返回 false;length 超過字符串長度,整串作為唯一元素返回。
<?php $str = "www.baidu.com"; print_r(str_split($str)); // 輸出:Array ( [0] => w [1] => w [2] => w [3] => . [4] => b ... )
依據分隔符將字符串拆分為數組。
explode(string $separator, string $string, int $limit = PHP_INT_MAX): array
|、,、空格)<?php
$types = "doc|docx|ppt|pptx|xls|xlsx|zip|rar";
print_r(explode("|", $types));
// 輸出:Array ( [0] => doc [1] => docx [2] => ppt ... )
以指定分隔符將數組元素連接成字符串。
implode(string $separator = "", array $array): string
注意:為向後兼容,建議始終傳兩個參數;implode() 參數順序可互換,但 explode() 必須 separator 在前。
<?php
$arr = ['Hello', 'World!', 'Beautiful', 'Day!'];
echo implode(" ", $arr); // Hello World! Beautiful Day!
strpos() 返回子串首次出現位置(區分大小寫),未找到返回 false。
strpos(string $haystack, string $needle, int $offset = 0): int|false
<?php $str = "HellO neo"; echo strpos($str, "O"); // 4 echo strpos($str, "o"); // 8
strstr() 返回從匹配點起的剩餘字符串,第三個參數 true 時返回匹配點前內容。
<?php
echo strstr('abc@3lian.com', '@', true); // abc
echo strstr('abc@3lian.com', '@'); // @3lian.com
substr(string $string, int $offset, int|null $length = null): string
<?php $str = "Hello world!"; echo substr($str, 6, 5); // world
<?php $str = "Hello world!"; echo strlen($str); // 12
<?php $str = "Hello World!"; echo strtoupper($str); // HELLO WORLD! echo strtolower($str); // hello world!
| 函數 | 用途 | 關鍵參數 |
|---|---|---|
| str_split | 固定長度分割 | length |
| explode | 分隔符分割 | separator, limit |
| implode | 數組合併 | separator, array |
| strpos | 查找位置 | needle, offset |
| substr | 截取片段 | offset, length |
| strlen | 字節長度 | — |
| strtoupper/strtolower | 大小寫轉換 | — |
掌握這些函數組合,即可應對絕大多數字符串與數組互轉場景。