全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2830|回复: 26
打印 上一主题 下一主题

[Windows VPS] 【慢移】召唤LOC技术帝:关于JSON的PHP遍历问题。

[复制链接]
跳转到指定楼层
2#
 楼主| 发表于 2012-5-24 22:39:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
有这么一个PHP程序,从2.0升能2.5之后,采集接口获取到的JSON数据就变了,导致获取列表不能。
列表获取方式是通过获取程序输出JSON文件并遍历获取的。但是后面的JSON数据加了一些东西,所以出错了。
求LOC技术帝给出一个解决之道!!!
原JSON数据,Decode后为:
1.rar (9.5 KB, 下载次数: 389)

升级后的JSON,同样DECODE后:

2.rar (707 Bytes, 下载次数: 378)
获取和遍历部份PHP代码:
  1. $html = vcurl('http://'.$host.'/index.php?c=album&a=category_list');
  2. $json = json_decode($html,true);
  3. if(!is_array($json)) exit('Error (1) [json_decode]');
  4. echo '<select name="catid">';
  5. foreach($json['data'] as $k=>$v) {   //PS:这是下面出错信息中的第12行
  6. echo '<option value="'.$v['category_id'].'">'.$v['category_name_cn'].'</option>';
  7. }
  8. echo '</select>';
复制代码
出错信息:
  1. <br />
  2. <b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/xxxxx/public_html/locoy.php</b> on line <b>12</b><br />
复制代码
超级召唤:

@圈圈 @咩咩 @A大 @潜水大牛
27#
发表于 2012-5-25 13:40:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
26#
发表于 2012-5-25 02:42:49 | 只看该作者
目测语法没问题,楼主var_dump一下$json['data']内容看看,怀疑内容和2.rar不一样

评分

参与人数 1威望 +5 收起 理由
Mr.Ra1n + 5 赞一个!晚上再试试。

查看全部评分

25#
发表于 2012-5-25 02:40:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
24#
发表于 2012-5-25 02:20:03 | 只看该作者
@我也不懂
23#
发表于 2012-5-25 00:05:38 | 只看该作者
我用你给出的数据源和PHP代码测试了,没出错

评分

参与人数 1威望 +5 收起 理由
Mr.Ra1n + 5 前面有技术帝给我了一个排查方案,晚上再看.

查看全部评分

22#
 楼主| 发表于 2012-5-24 23:05:49 | 只看该作者
map 发表于 2012-5-24 23:02
那就不懂了

还是谢谢,不过分散完了,下次吧。
21#
 楼主| 发表于 2012-5-24 22:59:46 | 只看该作者
MySQL 发表于 2012-5-24 22:58
你的感觉是错的.

是的,不用试就知道是错的。
20#
发表于 2012-5-24 22:58:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
19#
 楼主| 发表于 2012-5-24 22:58:30 | 只看该作者
smyz 发表于 2012-5-24 22:55
请把$host 报上来。专家给你解答。

技术帝终于出现了!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-11 11:28 , Processed in 0.287243 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表