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

How to convert array to json format in php

PHPz
PHPzOriginal
2023-04-26 10:35:09926browse

This article will introduce how to use PHP to convert an array into JSON format. JSON (JavaScript Object Notation) is a lightweight data exchange format. Due to its advantages of being easy to read, write, and parse, it has become a common format for data transmission at the front and back ends.

The easiest way to convert an array into JSON using PHP is to use the PHP built-in function json_encode(). This function can convert a PHP array into a JSON format string. The following is an example:

$myArray = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);
$jsonString = json_encode($myArray);

echo $jsonString;

In the above code, we declare a PHP array $myArray, and then use the json_encode() function to convert it into JSON format String. Finally, print out the JSON string. Executing the above code, the output result is as follows:

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

As can be seen from the above output result, the json_encode() function has successfully converted the PHP array into a JSON format string.

Next, we will introduce the json_encode() function in detail.

json_encode()The format of the function is as follows:

json_encode($value, $options = 0, $depth = 512)

Among them, the parameter $value is the PHP variable to be converted (can be an array or object , integer, string, etc.), the parameter $options is the conversion option (you can specify the output format, whether to use Unicode encoding, etc.), the parameter $depth is the depth of conversion (specify level of conversion to avoid infinite loops).

The following are some commonly used options:

Option name Option value Description
JSON_PRETTY_PRINT 128 Formatted output
JSON_UNESCAPED_UNICODE 256 No Unicode encoding
JSON_UNESCAPED_SLASHES 64 No slash escaping

The following is an example of using options:

$myArray = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);
$jsonString = json_encode($myArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

echo $jsonString;

Execute the above code, the output results are as follows:

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

As can be seen from the above output results, we use The option JSON_PRETTY_PRINT causes the JSON format string to be formatted and output; the option JSON_UNESCAPED_UNICODE is used to cause the Chinese characters in the JSON format string to not be Unicode encoded.

Also note that when processing Chinese characters in PHP, you need to use the mb_internal_encoding() function to set the default character encoding, otherwise garbled characters may appear.

The following is a complete example:

<?php
mb_internal_encoding("UTF-8");

$myArray = array(
    "name" => "张三",
    "age" => 30,
    "city" => "北京"
);
$jsonString = json_encode($myArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

echo $jsonString;
?>

Execute the above code, the output results are as follows:

{
    "name": "张三",
    "age": 30,
    "city": "北京"
}

As can be seen from the above output results, we successfully converted the Chinese The PHP array containing characters is converted into a JSON-formatted string.

Summary:

This article introduces how to use PHP to convert an array into JSON format. It is very convenient to use the json_encode() function to convert a PHP array into a JSON format string, and you can use options to specify the conversion format. When processing Chinese characters, you need to use the mb_internal_encoding() function to set the default character encoding to avoid garbled characters.

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