如何利用 PHP 的 str_split 函式將字串字元一個個分割成字串

最近去面試寫測驗時,我的撰寫邏輯需要使用到字串分割,但 PHP 的字串分割我真的超級不熟,每次使用每次忘記,所以就打算直接記錄在這裡。

str_split 用法

1
str_split(變數, 分割長度);
  • 變數:須被分割成字串之變數
  • 分割長度:預設值為 1,想兩兩配一起就寫 2

來段範例吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$string = 'abc def';
// 將字串一個個分成陣列
$arr1 = str_split($string);
// 一個陣列職最多兩個字元
$arr2 = str_split($string, 2);

// Output 1
print_r($arr1);
// Output 2
print_r($arr2);

?>

輸出結果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
[0] => a
[1] => b
[2] => c
[3] =>
[4] => d
[5] => e
[6] => f
)
Array
(
[0] => ab
[1] => c
[2] => de
[3] => f
)

可以看到輸出結果一的部分,將一段字串內的每個字元都被分配到各一個陣列值去;第二個輸出結果則是一個陣列值最多兩個字元。(注意第二個輸出結果的第 1 筆資料,c 旁邊是有空格的!)

後記

意外發現新用法(是的我以前沒用過,也有可能是我忘記),不然以往我如果要一個一個分割我會這麼做:

1
preg_split('//', $mystring, -1, PREG_SPLIT_NO_EMPTY)

是從 PHP 字串分割並存入陣列 - Wibibi 網頁設計教學百科 找到的用法,又是正規表達式又是標記,很容易忘記啊 XDD

參考資料