首页 > 语言 > PHP > 正文

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

2024-05-04 23:54:48
字体:
来源:转载
供稿:网友

利用嵌套数组   拼接混合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 />';  }  ?> 

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


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选