Home > Article > Backend Development > Convert string to array in php
In PHP, converting a string into an array is a very common operation. Maybe you need to process data from a form or database, or you need to convert some string-like information into an array for further processing. PHP provides many built-in methods to help us accomplish this task.
This article will introduce how to use the built-in methods in PHP to convert a string into an array, and will also discuss some possible solutions and considerations.
We can use the explode method in PHP to convert a string into a one-dimensional array. The explode function divides a string using the specified delimiter and returns an array containing the substrings.
Syntax: array explode(string $delimiter, string $string [, int $limit])
$delimiter: The specified delimiter, which can be a single character or a string.
$string: The string to be split.
$limit: This parameter is optional and specifies the number of array elements to be returned. If omitted or -1 passed, all elements are returned.
Example:
$str = "apple,banana,orange"; $arr = explode(",", $str); print_r($arr);
Output:
Array ([0] => apple [1] => banana [2] => orange)
Sometimes we need to convert a string containing Strings of multiple sets of information are converted into two-dimensional arrays to facilitate our further processing. At this time we can use the explode method combined with loop operations to complete the task.
Example:
$str = "张三,20,男|李四,25,女|王五,30,男"; $tmp_arr = explode("|", $str); foreach ($tmp_arr as $val) { $arr[] = explode(",", $val); } print_r($arr);
Output:
Array ( [0] => Array ([0] => 张三 [1] => 20 [2] => 男) [1] => Array ([0] => 李四 [1] => 25 [2] => 女) [2] => Array ([0] => 王五 [1] => 30 [2] => 男) )
When processing some complex data, it may Some complex operations are required to complete the conversion from string to array.
For example, we can use the preg_match_all method to grab specified data from text and convert it into a two-dimensional array.
Example:
$str = "AA朝还暮,BB户外旅行,CC会员卡,DD云南旅游"; preg_match_all("/([A-Z]+)([^A-Z]+)/", $str, $matches, PREG_SET_ORDER); $arr = array(); foreach ($matches as $val) { $arr[] = array("code" => $val[1], "name" => trim($val[2])); } print_r($arr);
Output:
Array ( [0] => Array ([code] => AA [name] => 朝还暮) [1] => Array ([code] => BB [name] => 户外旅行) [2] => Array ([code] => CC [name] => 会员卡) [3] => Array ([code] => DD [name] => 云南旅游) )
Summary
Converting a string into an array is a common operation in PHP development, and PHP provides a wealth of There are built-in functions and methods to do the job. We can choose different methods according to different needs, such as using split, preg_split, str_split and other functions.
It should be noted that when converting a string into an array, you must pay attention to passing the correct parameters and specifying the correct delimiter. In addition, if the string that needs to be converted contains non-printing characters such as newlines or tabs, it may cause exceptions in numerical conversion. At this time, you can use trim and other methods to process the string into plain text and then perform the conversion operation.
The above is the detailed content of Convert string to array in php. For more information, please follow other related articles on the PHP Chinese website!