Home >Backend Development >PHP Problem >How to convert PHP array data to json
In PHP, you can use the json_encode() function to convert array data into json. The json_encode() function can json encode variables. If the conversion is successful, it will return json data, otherwise it will return false.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
Now when we need to useajax
How to convert php arrays to json when interacting with the background.
The powerful PHP has provided built-in functions: json_encode()
and json_decode()
. It is easy to understand that json_encode() converts a PHP array into Json. On the contrary, json_decode()
is to convert Json into a PHP array.
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).
2. Array
An array is an ordered collection of values (value
). An array starts with "[" (left bracket) and ends with "]" (right bracket). Values are separated by "," (comma).
Note: The two forms of objects and arrays are called differently in JS. Objects are called with "." and arrays are called with subscripts [0] and [1]. Also note that when passing a Json string, values of type string
must be enclosed in quotes.
Instance 1:
$array = array("name" => "Eric","age" => 23); echo json_encode($array);
The program will print out:
{“name”:”Eric”,”age”:23}
Instance 2:
$array = array(0 => "Eric", 1 => 23); echo json_encode($array);
The program will output:
["Eric",23]
It can be seen from the above two examples that the two calls in js are different. The keys of the PHP array are all numbers, then json_encode() returns Json in the form of an array, if the keys of the PHP array are all strings. Then json_encode() will return Json in the form of an object.
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 the PHP code, if such a Json is passed to a JS function, JS will treat the Json as an object, and it is impossible for an object to use numbers as attribute names. In other words, JS does not know what this is: user.0.username (the middle is the number zero)
Recommended learning: php video tutorial
The above is the detailed content of How to convert PHP array data to json. For more information, please follow other related articles on the PHP Chinese website!