Home >Backend Development >PHP Problem >How to convert PHP string to array
In PHP programming, strings and arrays play a very important role. Sometimes we need to convert a string into an array to better process the data. This article will describe in detail how to convert a PHP string into an array.
We can use the PHP built-in function explode()
to separate a string into an array, explode()
The function accepts two parameters, the first parameter specifies the delimiter, and the second parameter specifies the string to be separated. The following example converts a string into an array separated by commas.
$str = 'apple,banana,cherry'; $arr = explode(',', $str); print_r($arr);
Output result:
Array ( [0] => apple [1] => banana [2] => cherry )
In addition to separating the string into arrays according to fixed characters In addition, we can also separate the string into an array according to the specified length. At this time we can use the PHP built-in function str_split()
, str_split()
The function accepts two parameters, the first parameter specifies the string to be separated, and the second parameter specifies the separation length.
$str = 'ABCDEFGHIJK'; $arr = str_split($str, 3); print_r($arr);
Output result:
Array ( [0] => ABC [1] => DEF [2] => GHI [3] => JK )
If we need to convert each character in the string characters are converted into array elements, then you can directly use the string variable as an array to traverse, and each character is automatically converted into an element in the array.
$str = 'Hello World'; $arr = []; for($i = 0; $i < strlen($str); $i++) { $arr[] = $str[$i]; } print_r($arr);
Output result:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => W [7] => o [8] => r [9] => l [10] => d )
Sometimes we need to combine the values in the string Convert it to an array in one-to-one correspondence with the key. At this time, you can use 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);
Output result:
Array ( [0] => 1 [1] => 10 )
If we need to convert JSON format string into array , you can use the json_decode()
function for conversion. json_decode()
The function accepts two parameters. The first parameter is a JSON format string, and the second parameter is a Boolean type, specifying whether to convert it to an object or an array. Defaults to object.
$str = '{"name":"Jack", "age": 22, "gender": "male"}'; $arr = json_decode($str, true); print_r($arr);
Output results:
Array ( [name] => Jack [age] => 22 [gender] => male )
Summary
This article introduces several common methods for converting strings into arrays in PHP, including separating them into arrays according to specified characters, and dividing them into arrays according to specified characters. Length delimits into an array, converts each character in a string into an array element, associates a value with a key in a string into an array, and converts a JSON-formatted string into an array. These methods are often used in daily programming in PHP. I hope this article can be helpful to PHP programmers.
The above is the detailed content of How to convert PHP string to array. For more information, please follow other related articles on the PHP Chinese website!