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

How to convert array to json format in php

PHPz
PHPzOriginal
2023-04-18 10:26:11796browse

PHP is a very popular programming language that is widely used in the field of web development. In PHP, array is a very common data type that is used to store a group of related data. When converting arrays in PHP into JSON format, it can be achieved through some specific functions, so that data can be easily transferred and processed between different applications.

1. What is JSON?

Before introducing how to convert a PHP array into JSON format, you first need to understand what JSON is.

JSON (JavaScript Object Notation) is a lightweight data exchange format. It is based on a subset of the JavaScript language, but it can be used by a variety of programming languages. The JSON format is very concise and easy to understand and read. It consists of two parts: key-value pairs and arrays.

For example, the following is an example of a simple JSON format:

{
   "name": "Tom",
   "age": 25,
   "address": {
      "city": "Shanghai",
      "street": "Changning Road"
   },
   "phoneNumbers": [
      "123456789",
      "987654321"
   ]
}

In the above example, the JSON object contains four properties, namely name, age, address and phoneNumbers. Where address is a nested JSON object and phoneNumbers is an array.

2. Method to convert PHP array into JSON format

In PHP, you can use the json_encode() function to convert the array into JSON format, for example:

<?php
   $arr = array(
      "name" => "Tom",
      "age" => 25,
      "address" => array(
         "city" => "Shanghai",
         "street" => "Changning Road"
      ),
      "phoneNumbers" => array(
         "123456789",
         "987654321"
      )
   );

   $json = json_encode($arr);

   echo $json;
?>

In In the above example, we first define a PHP array $arr, then use the json_encode() function to convert it into JSON format, and store the result in the $json variable. Finally, we output the JSON formatted string through echo.

After executing the above PHP code, the output result is as follows:

{
   "name":"Tom",
   "age":25,
   "address":{
      "city":"Shanghai",
      "street":"Changning Road"
   },
   "phoneNumbers":[
      "123456789",
      "987654321"
   ]
}

As you can see, we successfully converted the PHP array into the corresponding JSON format.

It should be noted that the json_encode() function will convert the PHP array into a UTF-8 encoded JSON string by default. If you need to convert it to another encoding format, you can specify it in the second parameter of the function, for example:

$json = json_encode($arr, JSON_UNESCAPED_UNICODE);

In the above code, we convert the JSON string into Unescaped Unicode string.

3. Method to convert JSON format string into PHP array

In addition to converting PHP array into JSON format, we can also convert JSON string into PHP array. This process can be achieved through the json_decode() function.

For example, the following is a sample code:

<?php
   $jsonStr = &#39;{
      "name":"Tom",
      "age":25,
      "address":{
         "city":"Shanghai",
         "street":"Changning Road"
      },
      "phoneNumbers":[
         "123456789",
         "987654321"
      ]
   }&#39;;

   $arr = json_decode($jsonStr, true);

   var_dump($arr);
?>

In the above sample code, we first define a variable $jsonStr containing a JSON format string, and then use the json_decode() function to Convert it to a PHP array. In the second parameter of the function, we set the true parameter so that the output result will be returned in the form of an array. Finally, the converted $arr array is output via var_dump().

After executing the above PHP code, the output result is as follows:

array(4) {
   ["name"]=>
   string(3) "Tom"
   ["age"]=>
   int(25)
   ["address"]=>
   array(2) {
      ["city"]=>
      string(8) "Shanghai"
      ["street"]=>
      string(15) "Changning Road"
   }
   ["phoneNumbers"]=>
   array(2) {
      [0]=>
      string(9) "123456789"
      [1]=>
      string(9) "987654321"
   }
}

As you can see from the output result, we successfully converted the JSON format string into a PHP array, and each attribute All are parsed into corresponding key-value pairs.

It should be noted that the json_decode() function will convert the JSON string into object form by default. If you need to convert it into an array form, you can specify it in the second parameter of the function:

$arr = json_decode($jsonStr, true);

4. Summary

In PHP, it is convenient to convert an array into JSON format. Transfer and process data between different applications. PHP provides the json_encode() function to convert arrays into JSON format, and the json_decode() function to convert JSON strings into PHP arrays. We can choose which of these functions to use based on actual needs.

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