使用foreach循环使用来自MYSQL SELECT的数据填充PHP数组

时间:2012-09-16 00:48:08

标签: php arrays foreach

我正在使用其中一个jquery ui自动完成函数,并且需要创建一个填充在foreach循环中的php数组,该循环包含来自PDO SELECT查询的结果。

结果数组应如下所示:

Array(
"result1"=>"result1",
"result2"=>"result2",   
"result3"=>"result3",
"result4"=>"result4"
"remaining results"=>"remaining results"
);

我试过了:

echo '$items = array(';
foreach($resulttags as $tag_rows)
{
$tags_display = $tag_rows['tag'];
echo '"' . $tags_display . '"=>"' . $tags_display . '",';
}
echo ");";

回显页面上的数组,但它不起作用。我也试过这个:

$items = array(); 
foreach($resulttags as $tag_rows)
{    
$results['"' . $tag_rows['tag'] . '"'] = '"' . $tag_rows['tag'] . '"'; 
}

但这导致数组键周围的方括号,似乎不想使用自动完成。我假设downvotes是b'c我没有显示我已经尝试过的东西,我在iPhone上发布了问题,现在回到我的笔记本电脑。

我认为这不应该太难,但我已经尝试了许多没有奏效的方法。有什么建议?这些阵列总是让我适应,还没有绕过它们。

1 个答案:

答案 0 :(得分:0)

原来我只是愚蠢。我这样做了,效果很好:

$items = array();  
foreach($resulttags as $tag_rows)
{
$items[$tag_rows['tag']] = $tag_rows['tag'];
}

由于某些愚蠢的原因,我试图从print_r获取输出以匹配我尝试从自动完成演示重新创建的php代码。而不是让print_r的两个输出匹配。非常愚蠢。花费自己三个downvotes。