为foreach()php警告提供的参数无效

时间:2014-07-15 09:53:03

标签: php codeigniter

Iam newbie to php and codeigniter。

我在php中有错误,

 A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: controllers/search.php

Line Number: 44

第44行是:foreach($ data as $ key => $ value)

这里有一些语法错误, 在这个if语句中,if(!empty($ user ['search'])),$ data被正确打印,而在这个if语句中,如果(!empty($ data)),则不打印$ data。任何人都可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

问题是你的循环变量($data)中没有任何值。

您可以打印它们的值以检查变量是否包含值。

答案 1 :(得分:0)

替换:

$data = json_decode($user['search'])->result;

通过:

$data = json_decode($user['search'], true);

json_decode就是这样:

var_dump(json_decode($json)); // returns object(stdClass)
var_dump(json_decode($json, true)); returns array

你的$ data是一个对象,而foreach严格要一个数组。