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


Posted in PHP onFebruary 07, 2017

利用嵌套数组   拼接混合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 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
PHP Ajax实现页面无刷新发表评论
Jan 02 PHP
PHP生成月历代码
Jun 14 PHP
比较strtr, str_replace和preg_replace三个函数的效率
Jun 26 PHP
php函数与传递参数实例分析
Nov 15 PHP
php表单敏感字符过滤类
Dec 08 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
php cookie工作原理与实例详解
Jul 18 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
Yii2框架类自动加载机制实例分析
May 02 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 PHP
php获取文件名称和扩展名的方法
Feb 07 #PHP
php 常用的系统函数
Feb 07 #PHP
thinkphp修改配置进入默认首页的方法
Feb 07 #PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 #PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 #PHP
PHP实现对数组分页处理实例详解
Feb 07 #PHP
php实现的读取CSV文件函数示例
Feb 07 #PHP
You might like
东方红 - 来复式再生机的修复
2021/03/02 无线电
在php中取得image按钮传递的name值
2006/10/09 PHP
php巧获服务器端信息
2006/12/06 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
HTML DOM的nodeType值介绍
2011/03/31 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
vue单页缓存方案分析及实现
2018/09/25 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
python出现&quot;IndentationError: unexpected indent&quot;错误解决办法
2017/10/15 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
Python笔记之facade模式
2019/11/20 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
初级会计求职信范文
2014/02/15 职场文书
阅兵口号
2014/06/19 职场文书
天堂的孩子观后感
2015/06/11 职场文书
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫