【发布时间】:2018-08-01 09:59:33
【问题描述】:
这是我使用 php 编写的代码,经过一些查询和获取
不管查询方法,这里是获取:
while($row = mysqli_fetch_assoc($result6))
{
$json_array6["spams"] = $row;
}
然后我想添加一个带有键和值的新数组元素:
$arrnew["is_spam_by_me"] = false;
array_push($json_array6["spams"], $arrnew["is_spam_by_me"]);
然后我将使用一些合并数组的 json_encode,包括这个(仅使用这个为例)。那么我得到的json值为:
"垃圾邮件":{"total":"0","0":false}
“total”键来自查询,不是问题,“0”键是问题。
而我想要展示的是:
"垃圾邮件":{"total":"0","is_spam_by_me":false}
我的代码哪里出错了?抱歉解释太长了
【问题讨论】:
-
您在
while-loop 的每次迭代中都会覆盖$json_array6["spams"],因此它只会包含最后一行。 -
array_push 是创建“0”索引的原因。你应该改用
$json_array6['spams']['is_spam_by_me']=$arrnew['is_spam_by_me'];。 -
只是为了检查一下 - 因为这看起来像一个总数,您是否希望仍然只有 1 行?
-
@MagnusEriksson 那么我不应该使用while循环吗?我刚刚发现我不需要 while 循环:S
-
@Nick 哇,这解决了我的问题。谢谢!