php利用嵌套数组拼接与解析json的方法

5年以前  |  阅读数:1020 次  |  编程语言:PHP 

利用嵌套数组 拼接混合json -包含对象数组


    <?php 

    // 自 PHP 5.4 起 
    $array = [ 
      "status" => "0", 
      "message" => "ok", 
      "arr"=> [] 
    ]; 

    class Person {  
      public $name;  
      public $age;  

      //定义一个构造方法初始化赋值  
      public function __construct($name,$age) {  
        $this->name=$name;  
        $this->age=$age;  
      }  
    }  



    for($i=0;$i<10;$i++) 
    { 
      $p=new Person("ren",$i);  
      $array["arr"][]=$p; 
    } 

    //var_dump($array); 

    echo json_encode($array); 

    ?> 

php利用嵌套数组 解析混合json 包含对象数组


    <?php  
    function json_to_array($web) {  
      $arr=array();  
      foreach($web as $k=>$v) {  
        if(is_object($v)) $arr[$k]=json_to_array($v); //判断类型是不是object  
        else $arr[$k]=$v;  
      }  
      return $arr;  
    }  
    $s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';  
    //将字符转成JSON  
    $web=json_decode($s);  
    $arr=array();  
    foreach($web as $k=>$v)  
      $arr[$k]=$v;  
    echo "<pre>";  
    print_r($arr);  
    echo "</pre>";  

    $s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';  
    $web=json_decode($s);  
    $arr=json_to_array($web);  
    echo "<pre>";  
    print_r($arr);  
    echo "</pre>";  

    /************************************************************************ 
    ************************************************************************/  
    $s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';  
    $web=json_decode($s);  
    echo '网站名称:'.$web->webname.'<br />网址:'.$web->url.'<br />联系方式:QQ-'.$web->contact->qq.' MAIL:'.$web->contact->mail;  
    echo '<br /><br />';  
    /************************************************************************ 
    ************************************************************************/  
    $s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';  
    $web=json_decode($s);  
    echo json_encode($web);  


    $mys='{"status":"0","message":"ok","arr":[{"name":"ren","age":0},{"name":"ren","age":1},{"name":"ren","age":2}, 
    {"name":"ren","age":3},{"name":"ren","age":4},{"name":"ren","age":5},{"name":"ren","age":6},{"name":"ren","age":7}, 
    {"name":"ren","age":8},{"name":"ren","age":9}]}'; 

    $myweb=json_decode($mys);  

    echo $myweb->status; 

    for($i=0;$i<10;$i++) 
    { 
     echo $myweb->arr[$i]->age; 
     echo '<br /><br />';  
    }  
    ?> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例