PHP数组对象与Json转换操作实例分析

吾爱主题 阅读:128 2021-09-10 14:14:00 评论:0

本文实例讲述了PHP数组对象与Json转换操作。分享给大家供大家参考,具体如下:

代码

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 <?php //数组转对象 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 ; } //对象转数组 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 ; } //对象转数组 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到数组 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 "现在的数组<br><br>" ; $arr = array (    "name" => "李小龙" ,    "tel" => "11111111111" ,    "age" => "12" , ); var_dump( $arr ); echo "<br>-------------------------------<br>" ; echo "<br><br>数组转对象<br><br>" ; $obj = arrayToObject( $arr ); var_dump( $obj ); echo "<br><br>输出对象属性<br><br>" ; var_dump( $obj ->name); echo "<br>-------------------------------<br>" ; echo "<br><br>对象转数组<br><br>" ; $arr =object_array( $obj ); var_dump( $arr ); echo "<br><br>输出数组数值<br><br>" ; var_dump( $arr [ "name" ]); echo "<br>-------------------------------<br>" ; echo "<br><br>Json到数组<br><br>" ; $json = '{"a":"哈哈","b":"我","c":"数","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>数组<br>" ; var_dump(json_decode( $json ,true)); echo "<br>-------------------------------<br>" ; echo "<br><br>数组到Json<br><br>" ; var_dump( $arr ); echo "<br>" ; var_dump(json_encode( $json , JSON_HEX_APOS));

输出

-------------------------------
现在的数组
array(3) { ["name"]=> string(9) "李小龙" ["tel"]=> string(11) "11111111111" ["age"]=> string(2) "12" }
-------------------------------
数组转对象
object(stdClass)#1 (3) { ["name"]=> string(9) "李小龙" ["tel"]=> string(11) "11111111111" ["age"]=> string(2) "12" }
输出对象属性
string(9) "李小龙"
-------------------------------
对象转数组
array(3) { ["name"]=> string(9) "李小龙" ["tel"]=> string(11) "11111111111" ["age"]=> string(2) "12" }
输出数组数值
string(9) "李小龙"
-------------------------------
Json到数组
array(8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "数" ["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) "数" ["d"]=> string(3) "一" ["e"]=> int(3) ["f"]=> int(2) ["g"]=> int(1) ["h"]=> string(12) "别生气了" }
属性:哈哈
数组
array(8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "数" ["d"]=> string(3) "一" ["e"]=> int(3) ["f"]=> int(2) ["g"]=> int(1) ["h"]=> string(12) "别生气了" }
-------------------------------
数组到Json
array(8) { ["a"]=> string(6) "哈哈" ["b"]=> string(3) "我" ["c"]=> string(3) "数" ["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\"}""

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/fujian9544/article/details/89915095

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容