【问题标题】:Populate PHP array with data from MYSQL SELECT using foreach loop使用 foreach 循环使用来自 MYSQL SELECT 的数据填充 PHP 数组
【发布时间】:2012-09-16 00:48:07
【问题描述】:

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

结果数组应如下所示:

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'] . '"'; 
}

但这会导致数组键周围出现方括号,并且似乎不想使用自动完成功能。我假设反对票是 b'c 我没有展示我已经尝试过的内容,我在我的 iPhone 上发布了这个问题,现在又回到了我的笔记本电脑上。

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

【问题讨论】:

  • 你试过什么?我们将帮助您处理现有代码。不过,我们不会白给你一些东西。
  • 您不是在构建 PHP 数组...您正在构建一个 STRING,如果月球和行星正确对齐,则可以将其解释为数组。跨度>
  • 是的,我有一种感觉,我的第一次尝试只是构建一个字符串。知道这不是正确的方法是有帮助的。然后我会继续修改我的其他方法。
  • php.net/array_push 是你想要的,它的等效快捷方式是$var[] = ...
  • 谢谢。最后的反对票似乎越来越多。

标签: php arrays foreach


【解决方案1】:

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

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

出于某种愚蠢的原因,我试图从 print_r 获取输出以匹配我试图从自动完成演示中重新创建的 php 代码。而不是让 print_r 的两个输出匹配。很愚蠢。也让我自己投了三票。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-16
    • 2017-09-07
    • 2014-03-10
    • 1970-01-01
    • 2020-08-07
    • 2016-11-16
    • 1970-01-01
    相关资源
    最近更新 更多