Home > Backend Development > PHP Problem > How to convert string to array in php

How to convert string to array in php

PHPz
Release: 2023-04-12 09:07:58
Original
1422 people have browsed it

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.

1. Use the explode function

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 ] )
Copy after login

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);
Copy after login

Output result:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
Copy after login
Copy after login

2. Use the preg_split function

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]])
Copy after login

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);
Copy after login

Output result:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
Copy after login
Copy after login

3. Use the str_split function

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 ])
Copy after login

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);
Copy after login

Output result:

Array
(
    [0] => h
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => w
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)
Copy after login

4. Use the str_split function and mb_substr function

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);
Copy after login

Output result:

Array
(
    [0] => 你
    [1] => 好
    [2] => ,
    [3] => 世
    [4] => 界
    [5] => !
)
Copy after login

Conclusion

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template