php解析json數組(循環輸出數據)的實例


以快遞100接口為例

 

返回的JSON數據

 

{"message":"ok","nu":"350116805826","ischeck":"0","com":"huitongkuaidi","status":"1","condition":"00","data":[{"time":"2014-02-12 15:21:45","location":"","context":"合肥市|到件|到合肥市【合肥分撥中心】"},{"time":"2014-01-20 15:20:39","location":"","context":"蕪湖市|簽收|蕪湖市【蕪湖分撥中心】, 本人 已簽收"},{"time":"2014-01-19 11:23:50","location":"","context":"蕪湖市|派件|蕪湖市【蕪湖分撥中心】,【蕪湖BEX代派1】正在派件"},{"time":"2014-01-17 07:51:00","location":"","context":"蕪湖市|到件|到蕪湖市【蕪湖分撥中心】"},{"time":"2014-01-16 22:40:48","location":"","context":"合肥市|發件|合肥市【合肥分撥中心】,正發往【蕪湖分撥中心】"},{"time":"2014-01-16 19:32:08","location":"","context":"合肥市|到件|到合肥市【合肥分撥中心】"},{"time":"2014-01-15 23:57:45","location":"","context":"北京市|發件|北京市【北京分撥中心】,正發往【合肥分撥中心】"},{"time":"2014-01-15 23:57:44","location":"","context":"北京市|到件|到北京市【北京分撥中心】"},{"time":"2014-01-15 19:55:25","location":"","context":"北京市|收件|北京市【車公庄分部】,【張靈林(承包區)13391722019】已攬收"}],"state":"0"}

建立函數

function vget($url)
{
    
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $data = curl_exec($curl);
  if (curl_errno($curl)) {return 'ERROR '.curl_error($curl);}
  curl_close($curl);
   return $data ;
}    

 

PHP代碼 轉換成數組

$url='http://api.kuaidi100.com/api?id=密鑰d32&com=huitongkuaidi&nu=350116805826&show=0&muti=1&order=desc';
$json=vget($url);

 $obj=json_decode($json);

  $data=$obj->data;
  $i=0;
   foreach ( $data as $unit )
   {
       $i++;
       $arr[$i]['context']=$unit->context;
       $arr[$i]['time']=$unit->time;

  }
 // print_r($arr);

 

ecshop輸出方式:php文件

 $smarty->assign('arr', $arr);

模板文件代碼

  <ul>
      {foreach from=$arr item=arr name=arr}
            <li> {$arr.time}-{$arr.context}</li>
        {/foreach}  
  </ul>

 

自己編樣式吧!

 

艾絲凡


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM