为了账号安全,请及时绑定邮箱和手机立即绑定

如何在php中更改数组推送的结果

如何在php中更改数组推送的结果

PHP
慕尼黑5688855 2022-07-09 16:28:14
如果条件为真,我有以下代码将数据推送到数组中,但结果不是我所希望的;         <?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使用带有绑定参数的准备好的语句。这篇文章有一些很好的例子。


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号