这里有新鲜出炉的 PHP 教程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
本篇文章主要介绍了 php 利用嵌套数组拼接与解析 json 的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
利用嵌套数组 拼接混合 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 />';
- }
- ?>
来源: http://www.phperz.com/article/17/0813/340603.html