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

How to convert JSON string to array in php

PHPz
PHPzOriginal
2023-04-19 10:09:15468browse

As a powerful Web programming language, PHP often needs to convert data into JSON format for transmission. In many cases, we need to convert JSON format data into arrays to facilitate processing and presentation of PHP programs. This article will briefly introduce how to convert a JSON string into a PHP array using built-in functions in PHP.

  1. What is JSON

JSON is a lightweight data exchange format that is easy to read and write, and easy to be parsed and generated by machines. It is based on JavaScript syntax but unlike it, JSON is a text format used to store and exchange data.

JSON consists of two data structures: objects and arrays. An object is an unordered collection of key/value pairs, and an array is an ordered collection of values. JSON can represent simple data types, such as numbers, strings, Boolean values, and null values, as well as complex data types, such as arrays and objects. The format of JSON strings is fixed and can be easily parsed and generated through programming languages ​​such as JavaScript and PHP.

  1. PHP built-in function json_decode()

PHP provides a very powerful built-in function json_decode(), which can convert JSON format strings into PHP arrays . The function prototype is as follows:

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

Parameter description:

  • $json_string : required. The JSON string to decode.
  • $assoc : Optional. The default is false, which means an object will be returned. If true, an associative array will be returned.
  • $depth : Optional. The depth to which the decoder can parse recursively. The default is 512.
  • $options : Optional. It can be any of the following constants: JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR. The default is 0, which means there are no options.

This function returns a PHP array or object.

For example:

$json_string = '{"name":"John", "age":30, "city":"New York"}';
$result = json_decode($json_string, true);
print_r($result);

will output:

Array
(

[name] => John
[age] => 30
[city] => New York

)

If we set the second parameter to false, it will return an object as follows:

$json_string = '{"name":"John", "age":30, "city" :"New York"}';
$result = json_decode($json_string);
echo $result->name;

will output:

John

  1. Example

Next, we will give a complete example of how to convert a JSON string to a PHP array.

//Define the JSON string to be decoded
$json_string = '{"name":"John", "age":30, "city":"New York"}';

//Decode JSON and return a PHP array
$result = json_decode($json_string, true);

//Print the value in the array
echo "Name: " . $result['name'] . "
";
echo "Age: " . $result['age'] . "
";
echo "City: " . $result['city'];
?>

will output the following results:

Name: John
Age: 30
City: New York

  1. Summary

This article introduces how to use the PHP built-in function json_decode() to convert a JSON-formatted string into a PHP array. We also covered how to change the default behavior and selectively decode JSON into an associative array or object. Finally, we provide a complete example of how to use the json_decode() function in a PHP program. In actual projects, PHP's json_decode() function is very important. It can make our programs more flexible and efficient.

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