Home >Backend Development >PHP Problem >How to convert json object to PHP array

How to convert json object to PHP array

PHPz
PHPzOriginal
2023-04-17 11:25:03549browse

json is a lightweight data exchange format that is becoming more and more popular. PHP is an excellent server-side programming language that is ideal for web development. Therefore, converting json objects to PHP arrays is a very useful skill. In this article, we will learn how to convert json object to PHP array.

  1. json_decode() function

The json_decode() function in PHP is the main way to convert a json-formatted string into a PHP variable (array or object). The syntax is as follows:

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

Parameter description:

  • json: json string.
  • assoc: A Boolean value indicating whether to convert the json object to an associative array.
  • depth: Integer type, indicating the maximum depth. By default, the maximum depth is 512, which can be defined using the constant JSON_DEPTH.
  • options: Options for more fine-grained control of the decoding process. Combinations of the following constants can be used:
Constant Description
JSON_BIGINT_AS_STRING Available in PHP 5.4.0 and higher. Convert integers greater than PHP_INT_MAX to strings.
JSON_INVALID_UTF8_IGNORE
JSON_INVALID_UTF8_SUBSTITUTE
Available in PHP 5.3.3 and later. JSON_INVALID_UTF8_IGNORE This option will ignore illegal UTF-8 characters. JSON_INVALID_UTF8_SUBSTITUTE This option will replace illegal UTF-8 characters with Unicode replacement characters.
JSON_OBJECT_AS_ARRAY Convert json object to associative array.
JSON_THROW_ON_ERROR Available in PHP 7.3.0 and higher. This constant is used to automatically throw an exception instead of returning FALSE.

Example:

The following is the JSON string:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}

Use json_decode () Function converts it into an associative array:

$json = '{"name":"John Doe","age":30,"city":"New York"}';
$arr = json_decode($json, true);

print_r($arr);

Output:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
  1. json_decode() function usage notes
  • json_decode() can only handle UTF-8 encoded data.
  • json_decode() only supports data types used in PHP, such as strings, numbers, arrays, and objects.
  • json_decode() does not support special data types such as resources and callback functions.
  • json_decode() only supports json strings with double quotes. Do not use single quotes or unquoted key names.
  • When given to the json_encode() function, use the constant JSON_UNESCAPED_UNICODE to ensure that non-ASCII characters are escaped.
  1. Example

Here is the complete example of converting a json string to a PHP array:

<?php
// 1. 定义 json 格式的字符串
$json = &#39;{"name":"John Doe","age":30,"city":"New York"}&#39;;

// 2. 将 json 格式的字符串转换为 PHP 数组
$arr = json_decode($json, true);

// 3. 输出转换后的数组
print_r($arr);
?>

Output:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
  1. Conclusion

As mentioned above, we can use the json_decode() function to convert the json object into a PHP array. This technique is very useful in web development and helps us parse JSON data from AJAX calls.

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