


Parameter usage of json_decode and var_export in php_PHP tutorial
Jul 13, 2016 am 10:56 AMThis article mainly talks about the usage of the second parameter of json_decode and var_export in php. Friends who need to know the usage of json_decode and var_export in php can also refer to it.
Both json_decode and var_export have a second parameter. I have never noticed it before, T_T. Moreover, this is the first time I know about this var_export function. The foundation is still not solid.
json_decode
(PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1)
json_decode — Decode a JSON-formatted string
Description
mixed json_decode ( string $json [, bool $assoc ] )
Accepts a JSON formatted string and converts it into a PHP variable
In the past, json was used as a data format for ajax processing. Today, the data format returned by the interface provided by the partner is json. At that time, I was still thinking that this thing returns object, which can be directly used in javascript. But how to convert this object into an array in php? After scratching my head for a long time, I decided to read the manual. You don’t know it by looking at it, but you are shocked when you see it. It turns out that this thing has a second parameter. If it is passed as true, the decoded data will become an array. Happy.
When array is a continuous array starting from 0, the result of json_encode is a string enclosed by []
When the array is an array that does not start from 0 or is not continuous, the result of json_encode is a string in key-value pattern enclosed by {}
The code is as follows | Copy code | ||||
$test[] = 1; $test[] = 1;$test[] = 1; DEBUG(json_encode($test)); Result:[1,1,1] $test = array();$test[] = 1; $test[] = 1;
$test[] = 1; |
Result:
{"1":1,"2":1}2. When the string is in the pattern [1,1,1], the result parsed by json_decode is an array by default,
When the string is in the pattern {"1":1,"2":1}, the result parsed by json_decode is an object by default. At this time, you can set its second parameter to true to force it to Return array
3. The above situation occurs because PHP cannot distinguish between one-dimensional arrays and two-dimensional arrays, because it is recommended to set the second parameter to true when using json encoding
代码如下 | 复制代码 |
|
The code is as follows | Copy code |
$handle = fopen($file_name, 'w+'); fwrite($handle,'<?php'."n".'$datas= '.var_export($result).";n?>"); fclose($handle); |
When I use the result, there is still a problem. The function outputs the contents of the array to the page, but there is nothing in the file. Isn’t this troublesome? If that's all, why should I use it? It is displayed on the page, I use <pre><pre> how cool it is. I was depressed, but after a closer look, it turned out that this function also has a second parameter, which has the same function as json_decode. It seems that my carelessness is still very serious.
代码如下 | 复制代码 |
$handle = fopen($file_name, 'w+'); fwrite($handle,'<?php'."n".'$datas= '.var_export($result,true).";n?>"); fclose($handle); |
Examples
The code is as follows
|
Copy code
|
||||
$res = yblog_mspconfiginit("ratings"); var_dump($res);
/*Result:resource(1) of type (yahoo_yblog)NULL*/
|
Another example:

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development
