利用嵌套数组 拼接混合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 />';
}
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。