如果条件为真,我有以下代码将数据推送到数组中,但结果不是我所希望的; <?php$sql = "SELECT * FROM cart WHERE sess_id = '$sess_id'";$result = mysqli_query($conn, $sql); $items= array();if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { $items[] = [ 'sku' => $row["prod_sku"], 'quantity' => (int)$row["prod_qty"] ];}if ($postage === 4.00){ array_push($items, "sku_GSxe2lDNfK5b6E", 1);}} $conn->close(); ?>我希望第二条记录看起来与第一条相同,但不包括记录信息。有人可以告诉我该怎么做。我没有对数组做过很多事情,也无法在任何地方找到我需要的信息。预先感谢。[{"sku":"sku_GGBzZqwz44UhRf","数量":1},"sku_GSxe2lDNfK5b6E",1]我希望它像这样输出[{"sku":"sku_GGBzZqwz44UhRf","quantity":1}, {"sku":"sku_GSxe2lDNfK5b6E","quantity":1},]
1 回答

MMTTMM
TA贡献1869条经验 获得超4个赞
您现有的代码将两个单独的值推送到数组中:
if ($postage === 4.00){
array_push($items, "sku_GSxe2lDNfK5b6E", 1);
}
您想将另一个数组推入数组:
if ($postage === 4.00){
array_push($items, ["sku" => "sku_GSxe2lDNfK5b6E", "quantity" => 1]);
}
另请注意,您的代码容易受到SQL 注入攻击。您应该通过mysqli或PDO使用带有绑定参数的准备好的语句。这篇文章有一些很好的例子。
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消