javascript - PHP:获取关联数组中的最后一个元素

标签 javascript php arrays

我有一个for循环

$TOTAL_GOALS = 5;
for($i= 1; $i<=$TOTAL_GOALS; $i++) {
    $EACH_POST_QUERY = mysql_query("SELECT item_id FROM likes WHERE item_id='$i'");
    $EACH_POST_TOTAL_LIKES = mysql_num_rows($EACH_POST_QUERY);
    $EACH_POST_RESULT = array();
    $EACH_POST_RESULT[$i] = $EACH_POST_TOTAL_LIKES;
}

在循环中,我动态触发查询并将结果提取到名为 $EACH_POST_TOTAL_LIKES 的变量中。

我想基于此制作一个关联数组。因此,我创建了一个名为 $EACH_POST_RESULT = array(); 的数组,并将值插入其中。

我得到的输出是最后一个元素 - 示例:

3:16

我的预期输出是 -

1:12 2:14 3:16

我正在使用这个将结果发送给 JS -

$SERVER_DATA = array("TG"=>$TOTAL_GOALS, "EACH_POST_LIKES"=> $EACH_POST_RESULT);
echo json_encode($SERVER_DATA);

控制台只向我显示最后一个条目。为什么数组会覆盖值并存储最后一个?

缺少什么?

最佳答案

您每次在循环中都会创建数组。如果您想一次性获取所有参数的计数,我建议您使用 MySQL Between Clause 在单个查询中实现此功能。

$TOTAL_GOALS = 5;
$EACH_POST_RESULT = array();
for ($i = 1; $i <= $TOTAL_GOALS; $i++) {
  $EACH_POST_QUERY = mysql_query("SELECT item_id FROM likes WHERE item_id='$i'");
  $EACH_POST_TOTAL_LIKES = mysql_num_rows($EACH_POST_QUERY);
  array_push($EACH_POST_RESULT, $EACH_POST_TOTAL_LIKES);
}

关于javascript - PHP:获取关联数组中的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36383522/

相关文章:

javascript - DropDown 未填充到 KENDO Grid 中

javascript - 如何从库 react-editext 中的按钮中删除 `text-decoration: line-through`?

javascript - 不明白这个检查空表单值代码是如何工作的(javascript)

c++ - 无法从 int main() 主体调用函数

ios - 在 TableView 中显示 plist 中的数据数组

javascript - slider 在点击时滑出,但我不想要这个

php - 同一张表中的匹配百分比

javascript - 将参数传递给 MVC PHP Controller 并打开新页面而不使用提交按钮

PHP日期问题

javascript - 使用 JavaScript 通过 for 循环搜索数组