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.
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 )
JSON_UNESCAPED_UNICODE
to ensure that non-ASCII characters are escaped. Here is the complete example of converting a json string to a PHP array:
<?php // 1. 定义 json 格式的字符串 $json = '{"name":"John Doe","age":30,"city":"New York"}'; // 2. 将 json 格式的字符串转换为 PHP 数组 $arr = json_decode($json, true); // 3. 输出转换后的数组 print_r($arr); ?>
Output:
Array ( [name] => John Doe [age] => 30 [city] => New York )
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!