国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php獲取json數據所有的節點路徑

2024-05-04 23:35:21
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php獲取json數據所有的節點路徑的方法和實例,有需要的小伙伴可以參考下。

之前我們講解過使用javascript獲取json數據節點路徑的問題,今天我們更進一步,講解下php獲取json數據所有的節點路徑

 

 
  1. <?php 
  2.  
  3. function iterTree($data) { 
  4. $retData = array(); 
  5. $data = json_decode($data, true); 
  6. if (!is_array($data) && emptyempty($data)) { 
  7. echo 'error !' ."n";  
  8. else { 
  9. $queue = array(); 
  10. foreach ($data as $field => $value) { 
  11. $queue[] = $field;  
  12. $head = 0; 
  13. $tail = count($queue); 
  14. while ($head < $tail) { 
  15. $field = $queue[$head++]; 
  16. $path = explode("/"$field); 
  17. $tmpData = &$data;  
  18. foreach ($path as $key => $ph) { 
  19. $tmpData = &$tmpData[$ph]; 
  20. if (is_array($tmpData) && !emptyempty($tmpData)) { 
  21. $newField = $field;  
  22. foreach ($tmpData as $curField => $curValue) { 
  23. $newField = $field . '/' . $curField
  24. $queue[$tail++] = $newField
  25. else { 
  26. $retData[] = $field;  
  27. return $retData
  28.  
  29. //測試數據 
  30. $data = file_get_contents("http://restapi.ele.me/v1/restaurants?extras%5B%5D=food_activity&extras%5B%5D=restaurant_activity&extras%5B%5D=certification&fields%5B%5D=id&fields%5B%5D=name&fiel 
  31. ds%5B%5D=phone&fields%5B%5D=promotion_info&fields%5B%5D=name_for_url&fields%5B%5D=flavors&fields%5B%5D=is_time_ensure&fields%5B%5D=is_premium&fields%5B%5D=image_path&fields%5B%5D=rating&fie 
  32. lds%5B%5D=is_free_delivery&fields%5B%5D=minimum_order_amount&fields%5B%5D=order_lead_time&fields%5B%5D=is_support_invoice&fields%5B%5D=is_new&fields%5B%5D=is_third_party_delivery&fields%5B% 
  33. 5D=is_in_book_time&fields%5B%5D=rating_count&fields%5B%5D=address&fields%5B%5D=month_sales&fields%5B%5D=delivery_fee&fields%5B%5D=minimum_free_delivery_amount&fields%5B%5D=minimum_order_des 
  34. cription&fields%5B%5D=minimum_invoice_amount&fields%5B%5D=opening_hours&fields%5B%5D=is_online_payment&fields%5B%5D=status&fields%5B%5D=supports&fields%5B%5D=in_delivery_area&geohash=wx4g07 
  35. j0w1v7&is_premium=0&limit=1000&offset=24&type=geohash"); 
  36.  
  37. $ret = iterTree($data); 
  38. print_r($ret); 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 册亨县| 门源| 壶关县| 上虞市| 柳州市| 古蔺县| 永城市| 且末县| 宜君县| 库伦旗| 霞浦县| 徐闻县| 新化县| 安陆市| 菏泽市| 岢岚县| 遵化市| 尼勒克县| 沧源| 荣昌县| 兴隆县| 辽阳县| 墨玉县| 安西县| 饶河县| 广宗县| 阿拉尔市| 麻栗坡县| 呼和浩特市| 镇坪县| 肃宁县| 灵寿县| 甘洛县| 稻城县| 泸溪县| 香港| 陇南市| 通山县| 重庆市| 文昌市| 策勒县|