如何在while语句期间将键和值添加到数组的末尾


How to add a key and value to end of array during a while statement

我正在尝试添加一个键值到一个数组,将有另一个数组作为它的值。

代码:

while($row=$checku->fetch(PDO::FETCH_ASSOC)) {
    $requested_data=array(
        "name"=>$row['from'],
        "title"=>$row['title'],
        "message"=>$row['message'],
        "time_post"=>$row['time_post']
    );
    $response["requested_data"]=$requested_data;
}

问题是它只是用当前的值覆盖最后一个值。输出:

responseString: {"status":"ok","code":0,
"requested_data"
:{"name":"Admin Team","title":"Ripple","message":"no",
"time_post":""}}

问题是应该有多个requested_data

建议,想法?

更新:

如果我拿约翰那棒极了的眼镜!它仍然不完全是我要找的,我重新编码到JSON类型,我需要键requested_data也被重新创建,而不仅仅是添加数组在相同的键除以,

下面是使用John的代码时的输出:

responseString: {"status":"ok","code":0,"requested_data"
:[{"name":"Admin Team","title"
:"Ripple","message"
:"Testing this awesome application out!","time_post":"March 8"},{"name":"Admin Team","title"
:"Ripple","message":"no","time_post":""}]}

注意,在requested_data中现在有两个数组这很好,只是我需要这个数组不在当前的requested_data中而在另一个requested_data

您需要将$response["requested_data"]设置为一个数组,然后将其附加到该数组中:

$response["requested_data"] = array();
while ($row = $checku->fetch(PDO::FETCH_ASSOC)) {
    $requested_data = array(
        "name" => $row['from'],
        "title" => $row['title'],
        "message" => $row['message'],
        "time_post" => $row['time_post']
    );
    $response["requested_data"][] = $requested_data;
}