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 相关文章推荐
数据库相关问题
Oct 09 PHP
PHP 字符串 小常识
Jun 05 PHP
PHP生成UTF8文件的方法
May 15 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
PHP遍历XML文档所有节点的方法
Mar 12 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 PHP
PHP 出现 http500 错误的解决方法
Mar 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
php Smarty模板生成html文档的方法
2010/04/12 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
Node.js事件驱动
2015/06/18 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
Python中的yield浅析
2014/06/16 Python
Python程序员开发中常犯的10个错误
2014/07/07 Python
python实现一次创建多级目录的方法
2015/05/15 Python
python实现批量改文件名称的方法
2015/05/25 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
Overload和Override的区别
2012/09/02 面试题
员工拾金不昧表扬稿
2015/05/05 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书