在 PHP 中,我們常常需要將字串轉換為陣列來進行操作,例如解析 URL 參數、解析 JSON 資料等。本文將介紹如何使用 PHP 中的一些函數來將字串轉換為陣列。
explode() 函數可以將字串依照指定的分隔符號分割成陣列。例如,我們有一個逗號分隔的字串,可以使用explode() 函數將其轉換為數組:
$str = "apple,banana,cherry"; $arr = explode(",", $str); print_r($arr);
輸出結果如下:
Array ( [0] => apple [1] => banana [2] => cherry )
除了逗號,還可以使用其他字元作為分隔符,例如空格、冒號、豎線等。
如果我們需要使用正規表示式來分割字串,可以使用 preg_split() 函數。例如,我們有一個類似URL 參數的字串,可以使用preg_split() 函數將其依照'&' 和'=' 分割成陣列:
$str = "name=John&age=30&gender=male"; $arr = preg_split("/[&=]/", $str); print_r($arr);
輸出結果如下:
Array ( [0] => name [1] => John [2] => age [3] => 30 [4] => gender [5] => male )
在preg_split() 函數中,正規表示式"/[&=]/" 表示依照'&' 或'=' 分割字串。
str_split() 函數可以將一個字串分割成指定長度的字串,並將其儲存到陣列中。例如,我們有一個字串,可以使用str_split() 函數將其每個字元都儲存到陣列中:
$str = "Hello World"; $arr = str_split($str); print_r($arr);
輸出結果如下:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => W [7] => o [8] => r [9] => l [10] => d )
除了每個字元都儲存到在陣列中,也可以指定每個字串的長度,例如將字串分割成長度為2 的字串:
$str = "Hello World"; $arr = str_split($str, 2); print_r($arr);
輸出結果如下:
Array ( [0] => He [1] => ll [2] => o [3] => Wo [4] => rl [5] => d )
如果我們需要將一個JSON 格式的字串轉換為陣列或對象,可以使用json_decode() 函數。例如,有一個JSON 格式的字串:
{ "name": "John", "age": 30, "gender": "male" }
可以使用json_decode() 函數將其轉換為陣列:
$str = '{"name":"John","age":30,"gender":"male"}'; $arr = json_decode($str, true); print_r($arr);
輸出結果如下:
Array ( [name] => John [age] => 30 [gender] => male )
注意,第二個參數要設為true,表示將JSON 轉換為關聯數組。如果設定為 false,將會轉換為物件。
如果我們需要將一個類似 URL 參數的字串解析成數組,可以使用 parse_str() 函數。例如,有一個類似URL 參數的字串:
$str = "name=John&age=30&gender=male";
可以使用parse_str() 函數將其轉換為關聯數組:
parse_str($str, $arr); print_r($arr);
輸出結果如下:
Array ( [name] => John [age] => 30 [gender] => male )
在parse_str() 函數中,第一個參數是要解析的字串,第二個參數是儲存解析結果的陣列名稱。
總結
本文介紹了PHP 中將字串轉換為陣列的5 種方法:使用explode() 函數、使用preg_split() 函數、使用str_split() 函數、使用json_decode( ) 函數、使用parse_str() 函數。根據不同的情況選擇不同的方法,可以方便地處理字串。
以上是php string怎麼轉換成數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!