Home > Backend Development > PHP Tutorial > PHP array convert json string

PHP array convert json string

韦小宝
Release: 2023-03-20 12:36:02
Original
5729 people have browsed it

The reason why json is used in our PHP development is because ajax objects are often used to interact with data between programs and JS functions. Because JS does not recognize arrays in PHP, PHP does not recognize arrays or objects in JS. Json solves this problem very well.

Json Introduction

JSON (JavaScript Object Notation) is a lightweight data exchange format. It is based on a subset of JavaScript, which means JavaScript can read Json directly, which is very convenient.

The specific form of Json is:

1. Object

The object is an unordered "name/value" pair" gather. An object starts with "{" (left bracket) and ends with "}" (right bracket). Each "name" is followed by a ":" (colon); "name/value" pairs are separated by a "," (comma).

For example: {"username": "Eric","age":23,"sex": "man"}

Code example:

<script type="text/javascript">   function getUser() {
        var user = {
            "username": "Eric",
            "age": 23,
            "family": {"mother": "Marry", "father": "Alon", "brother": "Tom"}
        };
        alert(user.username);
        alert(user.age);
        alert(user.family.brother);
    }
    getUser();   </script>
Copy after login

2. Array

An array is an ordered collection of values. An array starts with "[" (left bracket) and ends with "]" (right bracket). Values ​​are separated by "," (comma).

For example: ["Eric",23, "man"]

Code example:

<script type="text/javascript">   function getArray() {
        var arr = ["Jarry", 23, ["www.xiaophper.com", "wxyh_999@126.com"]];
        alert(arr[0]);
        alert(arr[1]);
        alert(arr[2][0]);
        alert(arr[2][1]);
    }
    getArray();   </script>
Copy after login

Note: The two forms of objects and arrays are different when called in JS It’s the same, objects are called with “.”, and arrays are called with subscripts [0] and [1]. Also note that string type values ​​must be enclosed in quotes when passing Json strings.

Convert array into Json in PHP

Powerful PHP has provided built-in functions: json_encode() and json_decode() . It's easy to understand, json_encode() is to convert PHP array into Json. On the contrary, json_decode() converts Json into a PHP array.

For example:

$array = array("name" => "Eric","age" => 23); 
echo json_encode($array);
Copy after login

The program will print out: {"name":"Eric","age":23}

Look at the following example again:

$array = array(0 => "Eric", 1 => 23); 
echo json_encode($array);
Copy after login

The program will print out: ["Eric",23]

As can be seen from the above two examples, if the keys of the PHP array are all numbers, then json_encode() returns an array form Json, if the keys of the PHP array are all strings . Then json_encode() will return Json in the form of an object. Just said it. The two calls in js are different.
In fact, as long as there is a key in the form of a string in the key of the PHP array, then json_encode() will return Json in the form of an object. This is not correct. Because, although no errors will occur in PHP code, if such Json is passed to a JS function, JS will treat this Json as an object, and it is impossible for an object to use numbers as attributes. famous. That is to say, JS does not know what this is: user.0.username (the middle is the number zero)

Similar reading:

Use of JSON in php with conversion

The above is the detailed content of PHP array convert json string. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template