在foreach循环之外声明php数组不起作用
好的,我到处都在寻找这个答案,我找到了空的答案或者解决方案,除非我做得不对,否则它们似乎不起作用。我正在使用php 我从数据库中提取了一个数据集,其中包含:在foreach循环之外声明php数组不起作用,php,arrays,foreach,Php,Arrays,Foreach,好的,我到处都在寻找这个答案,我找到了空的答案或者解决方案,除非我做得不对,否则它们似乎不起作用。我正在使用php 我从数据库中提取了一个数据集,其中包含: try { $repinfo = $db->query("SELECT * FROM reps WHERE chamber='senate';"); $encoded = $repinfo->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) { print_r(
try {
$repinfo = $db->query("SELECT * FROM reps WHERE chamber='senate';");
$encoded = $repinfo->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
print_r("You failed");
}
然后我有一个foreach循环,循环遍历数据
$member=array();
foreach ($encoded as $key=>$value) {
$var1 = $value["something"];
$var2 = $value["something2"];
$var3 = $value["something3"]; //etc.
然后我试着把它们放到一个数组中:
$member[$var1] = array( //I want $var1 to also be the id for each of the elements in the main array
"var1" => $var1,
"var2" => $var2,
"var3" => $var3
);
} //closing foreach loop here
我已经按照其他来源的指示在foreach之前声明了数组。我得到了同样的错误,我不能使用标量值作为数组!!
当我在循环中声明数组时,每次都会重置数组。我试图使用从数据库中提取的特定id为数组中的每个项创建一个特定键。
有人能帮我弄清楚怎么做吗?我觉得我什么都试过了 你搜索过那个错误了吗?我可以保证你会找到问题所在。你能发布一个
var\u dump($encoded)代码>?我认为最好发布您的整个代码片段,并告诉我们哪一行正抛出错误。经过初步检查,我认为问题在于$value的数据类型不是数组,您正试图将其用作数组。