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

How to convert json array string to array in php

PHPz
PHPzOriginal
2023-04-23 10:14:47603browse

In PHP development, it is often necessary to convert JSON format data into PHP arrays. This article will explain how to convert a JSON array string to a PHP array.

First, we need to understand what JSON is. JSON (JavaScript Object Notation) is a lightweight data exchange format. In JSON, data is represented in the form of key-value pairs, with each key-value pair separated by commas and wrapped in curly braces or square brackets. JSON can be used for data exchange and is suitable for various programming languages.

The following is a simple JSON array string example:

[{"name":"John","age":25},{"name":"Jane","age":30}]

At this point, we want to convert it to a PHP array, which can be achieved using the PHP built-in function json_decode(). The json_decode() function is a function that converts a JSON string into a PHP object or array. Its syntax is as follows:

mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)

Where, $json is a valid JSON format string, $assoc is an optional Boolean value, the default is false, if set to true, a PHP associative array will be returned . $depth is an optional integer that specifies the maximum number of nesting levels of the JSON string. The default is 512. $options is an optional integer specifying the behavior options of the json_decode() function. Commonly used options are JSON_BIGINT_AS_STRING, JSON_OBJECT_AS_ARRAY and JSON_NUMERIC_CHECK.

The following is a sample code to convert the above JSON array string into a PHP array:

$json_str = '[{"name":"John","age":25},{"name":"Jane","age":30}]';
$arr = json_decode($json_str, true);
print_r($arr);

The output result is:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 25
        )

    [1] => Array
        (
            [name] => Jane
            [age] => 30
        )

)

As you can see, the json_decode() function will JSON strings are converted into PHP arrays, which can be manipulated like ordinary PHP arrays.

In actual development, if we need to operate on a JSON array, we can first convert it to a PHP array, and then operate on the PHP array. For example, we can use a foreach loop to traverse each element in the array:

foreach ($arr as $item) {
    echo $item['name'] . ' is ' . $item['age'] . ' years old.' . PHP_EOL;
}

The output result is:

John is 25 years old.
Jane is 30 years old.

In addition to using the json_decode() function, PHP also provides the json_encode() function, PHP arrays or objects can be converted to JSON format strings. Its syntax is as follows:

string json_encode(mixed $value, int $options = 0, int $depth = 512)

Among them, $value is the value to be encoded into JSON format, which can be a PHP array, object, number, string, etc. $options is an optional integer value specifying behavioral options for the json_encode() function. $depth is an optional integer specifying the maximum number of nesting levels. The default is 512.

The following is a sample code to convert a PHP array into a JSON format string:

$arr = [
    ['name' => 'John', 'age' => 25],
    ['name' => 'Jane', 'age' => 30],
];
$json_str = json_encode($arr);
echo $json_str . PHP_EOL;

The output result is:

[{"name":"John","age":25},{"name":"Jane","age":30}]

It can be found that the json_encode() function converts a PHP array For JSON format string.

In summary, to convert a JSON array string into a PHP array, you can use the json_decode() function. At the same time, if you need to convert a PHP array into a JSON format string, you can use the json_encode() function. In actual development, these two functions are very useful and can help us exchange data between different programming languages ​​and applications.

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