多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php中json_decode和var_export的參數用法

php中json_decode和var_export的參數用法

來源:程序員人生   發布時間:2014-04-30 10:46:43 閱讀次數:4310次

無論是json_decode還是var_export都是有第二個參數的,以前從來沒有注意過,T_T.而且,這個var_export函數也是第一次知道,基礎啊,還是不扎實。

json_decode:(PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1)

json_decode — 對 JSON 格式的字符串進行編碼

說明:mixed json_decode ( string $json [, bool $assoc ] ),接受一個 JSON 格式的字符串并且把它轉換為 PHP 變量,以前用json都是用做ajax處理的數據格式,今天合作方給的接口返回的數據格式就是json的,當時還在想,這玩意返回的是object,可以直接用做javascript里面的,可是在php里面咋把這個對象轉為數組呢?抓耳撓腮半天,還是決定去看手冊。不看不知道,一看嚇一跳,原來這玩意還有第二個參數,如果傳為true的話,解碼后的數據就變成數組了,Happy啊。

當array是一個從0開始的連續數組時,json_encode出來的結果是一個由[]括起來的字符串,而當array是不從0開始或者不連續的數組時,json_encode出來的結果是一個由{}括起來的key-value模式的字符串

  1. $test = array(); 
  2. $test[] = 1; 
  3. $test[] = 1; 
  4. $test[] = 1; 
  5. DEBUG(json_encode($test));結果: 
  6. [1,1,1] 
  7.  
  8. $test = array();  
  9. $test[] = 1;  
  10. $test[] = 1;  
  11. $test[] = 1;  
  12. unset($test[0]);  
  13. DEBUG(json_encode($test)); 

結果:{"1":1,"2":1}2.當字符串為[1,1,1] 這種模式時,json_decode默認解析出來的結果是一個數組,當字符串為{"1":1,"2":1} 這種模式時,json_decode默認解析出來的結果是一個對象,此時可以設置它的第二個參數為true強制讓它返回數組

3.由于php無法區分一維數組和二維數組,才會出現以上情況,因為使用json編碼時推薦將第二個參數設置為true.

想把重新弄好的數據存在文件里,數據格式是數組,之前的方法都是serialize,取出來的時候再反序列化,今天犯懶,就想能不能直接把數組存在文件里呢?

可是數組的格式實在不好拼,尤其是關聯數組,那下標,我要是全知道的話不得累死我?還是問Google大哥吧。

var_export(PHP 4 >= 4.2.0, PHP 5)

var_export — 輸出或返回一個變量的字符串表示

描述:mixed var_export ( mixed $expression [, bool $return ] ),此函數返回關于傳遞給該函數的變量的結構信息,它和 var_dump() 類似,不同的是其返回的表示是合法的 PHP 代碼。

您可以通過將函數的第二個參數設置為 TRUE,從而返回變量的表示,看到沒?這個函數,帥呆了,之前一直用var_dump,不知道姓var的還有這么個玩意,不錯,不錯的說。

  1. $handle = fopen($file_name'w+'); 
  2. fwrite($handle,'."n".'$datas= '.var_export($result).";n?>"); 
  3. fclose($handle); 

結果一用的時候,還是有問題,該函數把數組的內容給我輸出到頁面上了,而文件內是啥都米有,這不鬧呢嗎?如果只是這樣的話,我為啥用它啊?在頁面上顯示,我用

多爽啊。正郁悶呢,仔細一看原來這個函數也有第二個參數,作用和json_decode的一樣,看來我這粗心的毛病還是很嚴重滴。
  1. $handle = fopen($file_name'w+'); 
  2. fwrite($handle,'."n".'$datas= '.var_export($result,true).";n?>"); 
  3. fclose($handle); 

實例代碼如下:

  1. $res = yblog_mspconfiginit("ratings"); 
  2. var_dump($res); 
  3. var_export($res); 
  4. /*結果:resource(1) of type (yahoo_yblog)NULL*/ 

再比如:代碼如下

  1. $res = fopen('status.html''r'); 
  2. var_dump($res); 
  3. var_export($res); 
  4. /*結果:resource(2) of type (stream)NULL*/ 

var_export必須返回合法的php代碼, 也就是說,var_export返回的代碼,可以直接當作php代碼賦值個一個變量。 而這個變量就會取得和被var_export一樣的類型的值

但是, 當變量類型為resource的時候, 是無法簡單copy復制的,所以, 當var_export的變量是resource類型時, var_export會返回NULL
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区二区精品久久91 | 久久久国产成人精品 | 伊人久久综合网站 | 男女啪啦猛视频免费 | 伊人久爱| 一级做a爰全过程免费视频毛片 | 亚洲国产精久久久久久久春色 | 春暖花开亚洲性无区一区二区 | 国产成人青草视频 | 欧洲视频一区 | 欧美日韩国产手机在线观看视频 | 日韩中文欧美 | 在线观看视频在线 | 久久精品亚洲一区二区 | 亚洲第成色999久久网站 | 自拍网址 | 久久手机看片 | 国产女乱淫真高清免费视频 | 一区二区三区国模大胆 | 久久精品国产一区二区三区 | 精品国产麻豆免费网站 | 伊人动漫| 图片区亚洲 | 欧美日韩综合一区 | 欧美性猛交xxxxx免费看 | 日本成人一区二区三区 | 亚洲国产精品看片在线观看 | 亚洲一区二区高清 | 免费爱爱视频 | 日韩精品一区二区三区四区 | julia一区福利视频在线观看 | 精品在线第一页 | 一个色亚洲 | 亚欧乱色一区二区三区 | 亚洲国产网址 | 一区二区三区久久精品 | 欧美日韩一区二区三区视频在线观看 | 欧美成人天天综合在线视色 | 欧美成人一区二区三区不卡 | 亚洲欧洲高清有无 | 好吊妞精品 |