我收到了这个错误:
警告:第49行[page] .php中为foreach()提供的参数无效
这是$ json变量的回显:
[{"d":"2011-03-26","q":1,"t":1060},{"d":"2011-03-26","q":2,"t":1060},{"d":"2011-03-26","q":1,"t":1060}]
我正试图像这样迭代:
foreach($json as $obj) { // <--THIS IS LINE 49
// Stuff
}
答案 0 :(得分:6)
只是一个猜测:
您的$json
变量是一个字符串。您需要使用json_decode
将其转换为对象以遍历对象:
$json_obj = json_decode( $json );
foreach( $json_obj as $obj )
{
//stuff
}
答案 1 :(得分:1)
你需要decode json才能迭代它。
JSON-String本身对foreach毫无意义。
答案 2 :(得分:1)
首先尝试使用json_decode()
。看起来你的变量是json编码的,这意味着它实际上只是一个字符串,因此不能被foreach枚举。
foreach(json_decode($json) as $obj) {
// stuff
}
答案 3 :(得分:0)
foreach(json_decode($json) as $obj) {
// stuff
}
它返回一个像这样的警告:为foreach()提供的参数无效,虽然有效。
我的代码在这里:
function search_terms ( $json , $term )
{
if ( $json != null ){
foreach ( $json as $item ) {// Recursive function
$this->search_terms ( $item, $term );
}
}else{
}
}