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

How to convert string to object array in php

PHPz
Release: 2023-04-20 11:48:21
Original
563 people have browsed it

In PHP, strings and arrays are common data types. In some cases, we need to convert the string to an array of objects for better processing of the data. Here is some sample code to help you make this conversion.

First, let's see how to convert a string into an associative array. We can achieve this using the string function explode() and the foreach loop.

Suppose we have a comma separated string with each field corresponding to a key-value pair as shown below:

$str = "name:John,age:30,city:New York";
Copy after login

Now, we will convert it into an associative array using the following code :

$array = array();
$tmp = explode(",",$str);
foreach ($tmp as $value) {
  list($key,$val) = explode(":",$value);
  $array[$key] = $val;
}
Copy after login

In the above code, we first use the explode() function to split the string into several fields. We then split each field again through the foreach loop to get the key and value. Finally, we insert these key-value pairs into a new associative array.

Now let's turn to the example of converting a string to an array of objects. We can define a custom object and use the json_decode() function to convert the string to an object.

Suppose we have a JSON string that contains information about three students as shown below:

$str = '[{"name":"John","age":18},{"name":"Mary","age":19},{"name":"Tom","age":20}]';
Copy after login

Now, we will convert it into an array of objects using the following code:

class Student {
  public $name;
  public $age;
}

$array = json_decode($str);
$result = array();

foreach ($array as $obj) {
  $stu = new Student();
  $stu->name = $obj->name;
  $stu->age = $obj->age;
  $result[] = $stu;
}
Copy after login

In the above code, we first define the Student class and define two public properties to represent the name and age of each student.

Then, we use the json_decode() function to convert the JSON string into a PHP object. Next, we iterate over each object using a foreach loop, creating a new Student instance for each object and setting its properties to the object's properties. Finally, we insert each student object into the new array.

In short, converting strings to object arrays is a practical technique that can help us better process and manage data. Using the above example code, you can easily convert the string into an associative array or an array of objects to suit different scenarios.

The above is the detailed content of How to convert string to object 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