返回 php利用嵌套...... 登陆

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

巴扎黑 2017-02-20 10:39:20 752

利用嵌套数组   拼接混合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利用嵌套数组拼接与解析json的方法请关注PHP中文网(www.php.cn)其他文章!   


最新手记推荐

• 用composer安装thinkphp框架的步骤 • 省市区接口说明 • 用thinkphp,后台新增栏目 • 管理员添加编辑删除 • 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消 回复 发送
  • PHP中文网