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

时间:2016-04-03 09:04:55

标签: javascript php arrays

我有for loop

$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);

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

缺少什么?

2 个答案:

答案 0 :(得分:2)

您每次在循环中创建if ($resp->is_valid) { if(isset($_POST['submit'])) { $name=$_POST['namename']; $job=$_POST['job']; $message=$_POST['message']; $insert=mysql_query("insert into commenttable(name,job,message)values('$name','$job','$message')")or die(mysql_error()); echo "You posted a comment"; header("Location: mylink");。我建议你使用array在单个查询中实现这个,如果你想获得所有参数一次。

试试这个:

MySQL Between Clause

答案 1 :(得分:1)

您需要在循环之前移动此行

$EACH_POST_RESULT = array();

否则每次都会用空数组替换它!