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 相关文章推荐
用PHP和MySQL保存和输出图片
Oct 09 PHP
PHP重定向的3种方式
Mar 07 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
浅谈discuz密码加密的方式
May 22 PHP
php实现的CSS更新类实例
Sep 22 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
Sep 13 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
PHP实现的折半查询算法示例
Oct 09 PHP
Smarty模板配置实例简析
Jul 20 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
python中常用的九种预处理方法分享
2016/09/11 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
2015/07/23 面试题
高级Java程序员面试要点
2013/08/02 面试题
应届毕业生应聘自荐信范文
2014/02/26 职场文书
开业庆典主持词
2014/03/21 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
顶岗实习计划书
2015/01/16 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis