PHP string json to array object array

PHPz
Release: 2023-05-07 15:59:08
Original
469 people have browsed it

When developing web applications using PHP, we often need to convert string JSON into an array or object array. Because JSON is one of the commonly used data formats in web development, converting JSON to an array or object array is a very common operation.

In this article, we will introduce how to convert string JSON to array or object array in PHP.

  1. Use the json_decode function to convert JSON to an array

There is a built-in function json_decode() in PHP that can convert a JSON string into an array or an array of objects.

This function has two parameters:

(1) String JSON: JSON string that needs to be converted.

(2) Boolean assoc: The default value is false, which means an object array is generated. If this parameter is set to true, an associative array will be generated.

Here is a simple example:

<?php
// JSON字符串
$jsonStr = '{"name":"Tom", "age":30, "city":"New York"}';

// 将JSON字符串转换为关联数组
$arr = json_decode($jsonStr, true);

// 输出数组内容
print_r($arr);
?>
Copy after login

Output result:

Array
(
    [name] => Tom
    [age] => 30
    [city] => New York
)
Copy after login
  1. Convert JSON to object array

If we You don't need an associative array, but an array of objects, you can set the assoc parameter to false or don't pass it.

Here is an example:

<?php
// JSON字符串
$jsonStr = '[{"name":"Tom", "age":30}, {"name":"Jerry", "age":35}]';

// 将JSON字符串转换为对象数组
$objArr = json_decode($jsonStr);

// 输出对象数组内容
foreach($objArr as $obj) {
    echo "Name: " . $obj->name . ", Age: " . $obj->age . "\n";
}
?>
Copy after login

Output result:

Name: Tom, Age: 30
Name: Jerry, Age: 35
Copy after login
  1. Convert JSON string to object array of nested objects and arrays

In some cases, JSON strings may contain nested objects and arrays, and we can use recursive functions to easily convert them to object arrays.

Here is a simple example:

<?php
// JSON字符串
$jsonStr = '{"name":"Tom", "age":30, "address":{"city":"New York", "country":"USA"}, "friends":["Jerry", "Kate"]}';

// 将JSON字符串转换为对象数组
$obj = json_decode($jsonStr);

// 递归地将嵌套的对象和数组转换为对象数组
function object_to_array($obj) {
    if(is_object($obj)) $obj = (array)$obj;
    if(is_array($obj)) {
        foreach($obj as $key=>$val) {
            $obj[$key] = object_to_array($val);
        }
    }
    return $obj;
}

// 输出对象数组内容
$objArr = object_to_array($obj);
print_r($objArr);
?>
Copy after login

Output result:

Array
(
    [name] => Tom
    [age] => 30
    [address] => Array
        (
            [city] => New York
            [country] => USA
        )

    [friends] => Array
        (
            [0] => Jerry
            [1] => Kate
        )

)
Copy after login

Summary

In this article, we introduced how to convert characters in PHP Convert string JSON to array or object array. Whether you are converting JSON to an array using the json_decode() function or converting JSON to an array of objects, it can be done very easily and effortlessly. If the JSON string contains nested objects and arrays, we can also use recursive functions to convert it into an object array. When we need to use JSON data, these techniques can help us simplify our programming work and improve productivity.

The above is the detailed content of PHP string json to array object array. 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