Home  >  Article  >  Backend Development  >  Convert string to array in php

Convert string to array in php

王林
王林Original
2023-05-22 21:09:36748browse

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.

  1. Convert a string into a one-dimensional array

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)
  1. Convert a string into a two-dimensional array

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] => 男)
)
  1. Convert complex data to array

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!

Statement:
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