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!