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

How to convert string to object array in php

PHPz
PHPzOriginal
2023-04-20 10:11:33495browse

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";

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;
}

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}]';

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;
}

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!

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