原代码
foreach ($navgeturls as $url){
$nav= file_get_contents(U("$app/$url",array(),false,true));
print_r($nav);
$nav=json_decode($nav,true);
print_r($nav);
$navs[]=$nav;
}
问题是,第一个print_r可正常打印,第二个打印为空。
原因:$nav文件有BOM头,去掉就可以啦。
解决后代码:
$nav=json_decode(substr($nav,3),true);
本文介绍了一种在PHP中处理带有BOM头的JSON数据的方法。当从文件读取的JSON数据包含BOM头时,直接使用json_decode会导致解码失败。文章提供了一个简单解决方案,通过使用substr函数去除BOM头后再进行JSON解码。
1518

被折叠的 条评论
为什么被折叠?



