PHP数组对象Json的互相转换
生活随笔
收集整理的這篇文章主要介紹了
PHP数组对象Json的互相转换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼?
<?php//數(shù)組轉(zhuǎn)對象 function arrayToObject($e){if( gettype($e)!='array' ) return;foreach($e as $k=>$v){if( gettype($v)=='array' || getType($v)=='object' )$e[$k]=(object)arrayToObject($v);}return (object)$e; }//對象轉(zhuǎn)數(shù)組 function objectToArray($e){$e=(array)$e;foreach($e as $k=>$v){if( gettype($v)=='resource' ) return;if( gettype($v)=='object' || gettype($v)=='array' )$e[$k]=(array)objectToArray($v);}return $e; } //對象轉(zhuǎn)數(shù)組 function object_array($array){if(is_object($array)){$array = (array)$array;}if(is_array($array)){foreach($array as $key=>$value){$array[$key] = object_array($value);}}return $array; }//json到數(shù)組 function simple_json_parser($json){$json = str_replace("{","",str_replace("}","", $json));$jsonValue = explode(",", $json);$arr = array();foreach($jsonValue as $v){$jValue = explode(":", $v);$arr[str_replace('"',"", $jValue[0])] = (str_replace('"', "", $jValue[1]));}return $arr; }echo "<br>-------------------------------<br>"; echo "現(xiàn)在的數(shù)組<br><br>"; $arr=array("name"=>"李小龍","tel"=>"11111111111","age"=>"12", ); var_dump($arr);echo "<br>-------------------------------<br>"; echo "<br><br>數(shù)組轉(zhuǎn)對象<br><br>"; $obj= arrayToObject($arr); var_dump($obj); echo "<br><br>輸出對象屬性<br><br>"; var_dump($obj->name);echo "<br>-------------------------------<br>"; echo "<br><br>對象轉(zhuǎn)數(shù)組<br><br>"; $arr=object_array($obj); var_dump($arr); echo "<br><br>輸出數(shù)組數(shù)值<br><br>"; var_dump($arr["name"]);echo "<br>-------------------------------<br>"; echo "<br><br>Json到數(shù)組<br><br>"; $json ='{"a":"哈哈","b":"我","c":"數(shù)","d":"一","e":3,"f":2,"g":1,"h":"別生氣了"}'; $arr=simple_json_parser($json); var_dump($arr); echo "<br>官方換種方法<br>"; echo "對象<br>"; var_dump(json_decode($json)); $a=json_decode($json); echo "<br>屬性:"; echo $a->a; echo "<br>數(shù)組<br>"; var_dump(json_decode($json,true));echo "<br>-------------------------------<br>"; echo "<br><br>數(shù)組到Json<br><br>"; var_dump($arr); echo "<br>"; var_dump(json_encode($json, JSON_HEX_APOS));輸出
------------------------------- 現(xiàn)在的數(shù)組array(3) { ["name"]=> string(9) "李小龍" ["tel"]=> string(11) "11111111111" ["age"]=> string(2) "12" } -------------------------------數(shù)組轉(zhuǎn)對象object(stdClass)#1 (3) { ["name"]=> string(9) "李小龍" ["tel"]=> string(11) "11111111111" ["age"]=> string(2) "12" } 輸出對象屬性string(9) "李小龍" -------------------------------對象轉(zhuǎn)數(shù)組array(3) { ["name"]=> string(9) "李小龍" ["tel"]=> string(11) "11111111111" ["age"]=> string(2) "12" } 輸出數(shù)組數(shù)值string(9) "李小龍" -------------------------------Json到數(shù)組array(8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "數(shù)" ["d"]=> string(3) "一" ["e"]=> string(1) "3" ["f"]=> string(1) "2" ["g"]=> string(1) "1" ["h"]=> string(12) "別生氣了" } 官方換種方法 對象 object(stdClass)#2 (8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "數(shù)" ["d"]=> string(3) "一" ["e"]=> int(3) ["f"]=> int(2) ["g"]=> int(1) ["h"]=> string(12) "別生氣了" } 屬性:哈哈 數(shù)組 array(8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "數(shù)" ["d"]=> string(3) "一" ["e"]=> int(3) ["f"]=> int(2) ["g"]=> int(1) ["h"]=> string(12) "別生氣了" } -------------------------------數(shù)組到Jsonarray(8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "數(shù)" ["d"]=> string(3) "一" ["e"]=> string(1) "3" ["f"]=> string(1) "2" ["g"]=> string(1) "1" ["h"]=> string(12) "別生氣了" } string(136) ""{\"a\":\"\u54c8\u54c8\",\"b\":\"\u6211\",\"c\":\"\u6570\",\"d\":\"\u4e00\",\"e\":3,\"f\":2,\"g\":1,\"h\":\"\u522b\u751f\u6c14\u4e86\"}""?
總結(jié)
以上是生活随笔為你收集整理的PHP数组对象Json的互相转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公积金多久放款
- 下一篇: 全好全拆床垫家床垫好用吗 ?