php请求接口的数据,拼接三级联动
我需要把接口返回的数据拼接成上图的方式,我写出来一个,但是请求接口三次直接卡死了。
对这方面不是很熟悉,希望各位指点迷津!谢谢
回答
卡死可能很多原因,不过单从代码来看,有以下错误需要修正:
foreach ($cityList as $key => $v) { // ... }
foreach ($cityTow as $key => $i) { // $key被重新定义了一次 // 里面这个$key变量,已经不是外层$cityList的$key了
$data[$key];
}
foreach ($cityThree as $key -> $t) { // $key又被重新定义了一次 // 同理,里面这个$key变量,也已经不是外层$cityList的$key了
$data[$key];
}
需要把各个循环的key
,命名成$cityListKey
, $cityTowKey
, $cityThreeKey
之类。
然后看问题是否解决,然后再进一步分析。
- 楼上已经说了,三个循环应该使用不一样的 key,否定会相互覆盖;
- 可以考虑先只返回第一级,在前端展示,用户点击后再去获取下一级;
- 可以考虑一次返回所有,再在返回的结果中使用递归获取父子关系;
- 其实一次请求多个结果也不一定很慢,具体快慢可以实测后再判断,很多时候程序比你想的要跑得快得多。
以上是 php请求接口的数据,拼接三级联动 的全部内容, 来源链接: utcz.com/a/27580.html