Home  >  Article  >  php教程  >  Detailed example of PHP serialize and JSON parsing

Detailed example of PHP serialize and JSON parsing

黄舟
黄舟Original
2016-12-14 10:15:541132browse

JSON is based on JavaScript Programming Language, a subset of Standard ECMA-262 3rd Edition - December 1999. JSON uses a completely language-independent text format, but also uses conventions similar to the C language family (including C, C++, C#, Java, JavaScript, Perl, Python, etc.). These properties make JSON an ideal data exchange language.

JSON is constructed from two structures:

A collection of name/value pairs. In different languages, it is understood as an object, a record, a struct, a dictionary, a hash table, a keyed list, or an associative array. array).

An ordered list of values. In most languages, it is understood as an array.

PHP’s serialize is to serialize variables and return a string expression with variable type and structure.
Speaking of both, they embody a data structure in the form of a string, so there are What's the difference.

Let’s start with JSON and look at a simple example.

Example 1:

var test = {"Name":"Peter","Age":20}; document.write(test.Name + ": " + test.Age); Display results:

Peter: 20

In the variable test, {"Name":"Peter","Age":20} is an object with 2 elements (it feels like an array in PHP):
Name is Peter and Age is 20.

Of course it can get more complicated.

Example 2:

var test = {"User":{"Name":"Peter","Age":20},"Company":"FORD"}; document.write(test.User.Name + ": " + test.Company); Display results:

Peter: FORD In this example, the User element contains Name and Age.

If you want to reflect multiple Users, you need to use an array. Different from the "{}" of the object, the array uses "[]".

JSON parsing example three:

var test = [ Name":"Li Ming","Age":20},"Company":"Benz"}        ]; document.write(test[1].User.Name + ": " + test[1].Company); //Or use: document.write(test[1]["User"]["Name"] + ": " + test[1]["Company"]); JSON parsing display results:

Li Ming: Benz

Through the above simple example, some complex data can be transferred through a string, and it is indeed much more convenient when combined with Ajax.
Let’s take a look at the role of PHP’s serialize function.

JSON parsing example 4:

$arr = array ( ), “Li Ming”=> array ( 'Country'=>'CHINA', 'Age'=>21 ' Peter";a:2:{s:7:"Country";s:3:"USA";s:3:"Age";i:20;}s:7:"Li Ming";a:2: {s:7:"Country";s:5:"CHINA";s:3:"Age";i:21;}} This result looks more complicated than JSON, but it is actually very simple. What it illustrates is Some data types and structures.

Take a:2:{s:7:"Country";s:3:"USA";s:3:"Age";i:20;} as an example:


a:2 shows that there are two Array of elements (array), s:7:"Country";s:3:"USA"; is the first element, s:7 indicates that this is a string of 7 characters, followed by i:20 ; It should also be guessed that it is an integer (integer) 20.

Let’s look at this example again,

Example 5:

class test { var $var = 0; function add(){ echo $var+10; } } $unserialize_var = new test; $serialize_var = serialize($unserialize_var); echo $serialize_var; $unserialize_var = null; $unserialize_var = unserialize($serialize_var); $unserialize_var->add(); Display results:

O:4:"test":1:{s:3:"var";i:0;}

10

From It can be seen from this example that serialize saves both the type and structure of the data. The variables after unserialized can still use the add() method.

So is there any connection between PHP and JSON? Friends who are familiar with PHP should know that PHP5.2.0 has set JSON extension as the default component, which means that we can perform JSON operations in PHP, and its functions are json_encode and json_decode.

Example 6:

$arr = array ( 'Name'=>'Peter', 'Age'=>20 ); $jsonencode = json_encode($arr); echo $jsonencode;

Display the result:

{"Name":"Peter","Age":20}

This result is the same as the test value in Example 1. Use json_encode to convert the variables in PHP into JSON characters and output the expression.

Let’s take a look at the usage of json_decode.

Example 7:

$var = '{"Name":"Peter","Age":20}'; $jsondecode = json_decode($var); print_r($jsondecode); Display result:

stdClass Object ( [Name] => Peter [Age] => 20 ) This indeed verifies that {"Name":"Peter","Age":20} is an object in JSON, but it can also be used in PHP Convert it to an array and set the ASSOC parameter to True in json_decode.

Example 8:

$var = '{"Name":"Peter","Age":20}'; $jsondecode = json_decode($var,true); print_r($jsondecode); Display result:

Array ( [Name] => Peter [Age] => 20 ) In addition, it should be noted that JSON is based on Unicode format, so for Chinese operations, it must be converted into UTF-8 format. Through the above examples, I believe everyone has a preliminary understanding of JSON and PHP's serialize and json_encode. Combining PHP, Javascript, JSON and Ajax can complete powerful data interaction functions

Thank you for reading, please pay attention to PHP for more related content Chinese website (www.php.cn)!

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