浅析json_encode
作用:對變量進行 JSON 編碼
語法:?? string?json_encode?(?mixed?$value?[,?int?$options?= 0?[,?int?$depth?= 512?]] )
value :除了resource 類型之外,可以為任何數據類型。所有字符串數據的編碼必須是 UTF-8。
options:由以下常量組成的二進制掩碼
:JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS,JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT,JSON_FORCE_OBJECT,JSON_PRESERVE_ZERO_FRACTION,JSON_UNESCAPED_UNICODE(避免中文這些轉碼等,對應數字256),JSON_UNESCAPED_SLASHES(不轉義反斜杠,對應的數字64),JSON_PARTIAL_OUTPUT_ON_ERROR。
關于 JSON 常量詳情參考JSON 常量頁面,也可以參考http://blog.csdn.net/any2mobile/article/details/8717180。
depth:設置最大深度。 必須大于0。
返回值說明:成功則返回 JSON 編碼的?string?或者在失敗時返回?FALSE?。
如果value是一個數組,如果是無下標的數組(即默認下標0,1,2,3),則返回值是[]包起來的數組,否則,是{}包起來的對象
<?php $arr = array(1,2,3,4); $arr2 = array('a','b','c','d'); $arr3 = array(0=>1,1=>2,2=>3,3=>4); $arr4 = array(1=>1,2=>2,3=>3,4=>4); $arr5 = array('0'=>1,'1'=>2,'2'=>3,'3'=>4); $arr6 = array('a'=>'a','b'=>'b','c'=>'c','d'=>'d'); $arr7 = array(array(1,2,3,4),array('a','b','c','d'),array('a'=>'a','b'=>'b','c'=>'c','d'=>'d') ); $arr8 = array('one' => array(1,2,3,4),'two'=> array('a','b','c','d'),'three' => array('a'=>'a','b'=>'b','c'=>'c','d'=>'d') ); var_dump(json_encode($arr)); //結果: [1,2,3,4] var_dump(json_encode($arr2)); //結果: ["a","b","c","d"] var_dump(json_encode($arr3)); //結果: [1,2,3,4] var_dump(json_encode($arr4)); //結果: {"1":1,"2":2,"3":3,"4":4} var_dump(json_encode($arr5)); //結果: [1,2,3,4] var_dump(json_encode($arr6)); //結果: {"a":"a","b":"b","c":"c","d":"d"} var_dump(json_encode($arr7)); //結果: [[1,2,3,4],["a","b","c","d"],{"a":"a","b":"b","c":"c","d":"d"}] var_dump(json_encode($arr8)); //結果: {"one":[1,2,3,4],"two":["a","b","c","d"],"three":{"a":"a","b":"b","c":"c","d":"d"}}?
總結
以上是生活随笔為你收集整理的浅析json_encode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Siebel应用数据结构层次
- 下一篇: Nhanes临床数据库挖掘教程1----