【发布时间】:2017-09-22 04:08:17
【问题描述】:
我正在尝试获取制造商字段的值列表,但除了白屏,没有错误,一切似乎都正确,但没有任何效果
<?php
function removeBomUtf8($s){
if(substr($s,0,3)==chr(hexdec('EF')).chr(hexdec('BB')).chr(hexdec('BF'))){
return substr($s,3);
}else{
return $s;
}
}
$url = "http://www.pureexample.com/backend/data/car-sale.json";
$content = file_get_contents($url);
$clean_content = removeBomUtf8($content);
$decoded = json_decode($clean_content);
while ($el_name = current($decoded)) {
if ($el_name == 'Manufacturer') {
echo key($decoded).'<br />';
}
next($decoded);
}
?>
【问题讨论】:
-
提示:
"\xEF\xBB\xBF"明显比你那里的短。 -
$el_name不会是具有Manufacturer、Sold和Month属性的对象吗?它肯定不会是字符串 -
也不清楚为什么你会使用真正晦涩难懂的
current/next方法进行迭代,而不是直接的foreach($decoded as $el_name) -
它用于从 BOM 中清除 json。你可以通过 echo $decoded 看到 json;
-
你的预期输出是什么?