In PHP, converting a string to an array is a common operation, especially when parsing data taken from a database or file. Below we will introduce several methods of converting strings into arrays to help you better understand and master this common skill.
There is a built-in function in PHP called explode()
, which can be used to split a string into an array. This function accepts two parameters: the delimiter and the string to be split. The following is the syntax of the explode()
function:
array explode(string $delimiter , string $string [, int $limit ] )
Among them, the $delimiter
parameter is the character or string you want to use to split the string; $string
is a string that needs to be split into an array. This parameter must be a string; $limit
(optional) specifies the upper limit of the number of elements returned. If the $limit
parameter is omitted, the number of split array elements is unlimited.
Next, let’s use the following example to demonstrate how to use the explode()
function to split a string into an array:
$str = "apple,banana,orange,grape"; $arr = explode(",", $str); print_r($arr);
Output result:
Array ( [0] => apple [1] => banana [2] => orange [3] => grape )
preg_split()
function is somewhat similar to the explode()
function, both of which can divide strings into arrays. preg_split()
The function can accept regular expressions as delimiters. For example, you can use \s
to match any number of spaces or tabs in the string, which is very useful when processing files. practical.
array preg_split(string $pattern, string $string [, int $limit [, int $flags]])
Among them, $pattern
is an optional regular expression, $limit
is the upper limit of the number of array elements, $flags
contains a Additional bitmask that controls function behavior, can be ignored. If the $limit
parameter is not set, the function returns all split strings.
Next, let’s use the following example to demonstrate how to use the preg_split()
function to split a string into an array:
$str = "apple,banana | orange grape"; $arr = preg_split("/[\s,|]+/", $str); print_r($arr);
Output result:
Array ( [0] => apple [1] => banana [2] => orange [3] => grape )
str_split()
The function can split a string into a character array. The method parameter length
specifies the number of characters in each element. If length
is not passed or is passed as 1
, then there are only a character. The following is the syntax of the str_split()
function:
array str_split(string $string [, int $length = 1 ])
Among them, $string
is the string we want to split, $length
is each The length of character array elements.
Next we will use an example to demonstrate how to use the str_split()
function to split a string into an array:
$str = "hello world"; $arr = str_split($str); 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 )
If the string contains non-English characters, such as Chinese, Japanese, Korean, etc., the str_split()
function will fail because a non-English character may Takes up multiple bytes. In this case, you can use the mb_substr()
function instead of the str_split() function. The mb_substr() function is a multi-byte safe function.
To use the mb_substr() function, you need to enable the multi-byte string function in PHP first. Next, we will use an example to demonstrate how to use the mb_substr()
function to split a string into a character array:
// 先开启multi-byte字符串扩展 mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); $str = "你好,世界!"; $arr = []; for ($i = 0; $i < mb_strlen($str); $i++) { $arr[] = mb_substr($str, $i, 1); } print_r($arr);
Output result:
Array ( [0] => 你 [1] => 好 [2] => , [3] => 世 [4] => 界 [5] => ! )
This article introduces four methods of converting strings to arrays in PHP. Whether you use the explode()
function, the preg_split()
function, the str_split()
function, or the mb_substr()
function, when you These functions can do the trick for you when you need to extract data from a string and convert it into an array.
The above is the detailed content of How to convert string to array in php. For more information, please follow other related articles on the PHP Chinese website!