在 PHP 程式設計中,字串和陣列是扮演著非常重要的角色。有時候我們需要把字串轉換成數組,以便更好地處理資料。本文將詳細講述 PHP 字串轉換為陣列的方法。
我們可以使用PHP內建函數explode()
將一個字串分隔成數組, explode()
函數接受兩個參數,第一個參數指定分隔符,第二個參數指定待分隔的字串。下面的範例將字串依照逗號分隔成陣列。
$str = 'apple,banana,cherry'; $arr = explode(',', $str); print_r($arr);
輸出結果:
Array ( [0] => apple [1] => banana [2] => cherry )
除了可以依照固定的字元將字串分隔成陣列外,我們還可以按照指定長度將字串分隔成數組。這時候我們可以使用PHP內建函數str_split()
,str_split()
函數接受兩個參數,第一個參數指定待分隔的字串,第二個參數指定分隔的長度。
$str = 'ABCDEFGHIJK'; $arr = str_split($str, 3); print_r($arr);
輸出結果:
Array ( [0] => ABC [1] => DEF [2] => GHI [3] => JK )
如果我們需要將字串中的每個字元轉換成陣列元素,那麼可以直接使用字串變數作為陣列進行遍歷,每個字元自動轉換為陣列中的一個元素。
$str = 'Hello World'; $arr = []; for($i = 0; $i < strlen($str); $i++) { $arr[] = $str[$i]; } 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 )
有時候我們需要將字串中的值和鍵一一對應的轉換成數組,這時候可以使用array_map()
。
$str = 'a:1:{s:10:"product_id";s:2:"10";}'; $arr = array_map( function($val) { $temp = explode(':', $val); return str_replace(['"', ';'], '', $temp[1]); }, explode(';', $str) ); print_r($arr);
輸出結果:
Array ( [0] => 1 [1] => 10 )
如果我們需要將JSON 格式的字串轉換成數組,可以使用json_decode()
函數來轉換。 json_decode()
函數接受兩個參數,第一個參數為 JSON 格式字串,第二個參數為布林類型,指定轉換成物件還是陣列。預設為對象。
$str = '{"name":"Jack", "age": 22, "gender": "male"}'; $arr = json_decode($str, true); print_r($arr);
輸出結果:
Array ( [name] => Jack [age] => 22 [gender] => male )
總結
本文介紹了PHP 將字串轉換成陣列的幾個常見方法,包括依照指定字元分隔成陣列、依照指定長度分隔成陣列、將字串中的每個字元轉換成陣列元素、將字串中的值與鍵關聯成陣列和將JSON 格式的字串轉換成陣列。這些方法在 PHP 的日常程式設計過程中常用到。希望本文能對 PHP 程式設計師們有幫助。
以上是PHP字串轉換為陣列的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!