【问题标题】:Array push shopping cart in PHPPHP中的数组推送购物车
【发布时间】:2017-06-25 08:10:07
【问题描述】:

我刚刚开始了 PHP 课程。我被要求使用 array_push 创建一个购物车函数。我不完全理解代码,有人可以帮忙吗? 我创建了一个名为 $cart 的数组

$cart = [
    'user' => 'sholmes',
    'items' => [$camera, $lens]

然后我们被要求创建一个名为 create item 的函数,将商品放入购物车。答案如下:

 function create_item(&$cart, $item) {
    array_push($cart['items'], $item);

    return count($cart) - 1;
}

我不明白的是最后一行代码。为什么返回计数 $cart -1?我认为 array_push 的目的是将商品添加到购物车?我们的老师讨论了解决方案,但我不太明白。欢迎任何帮助! 谢谢 维姬

【问题讨论】:

  • 好吧,create_item 应该返回什么?也就是说,99% 的人肯定“答案”是错误的。
  • 如果是return count($cart['items']) - 1;,我几乎怀疑它是为了返回刚刚添加的项目的索引,但这样做对我来说没有任何意义.
  • Create _item 用于将商品添加到购物车。我们的老师确实说标准答案不太正确,但她的解释对我来说没有意义。
  • 我会说我们没有什么意义猜测可能会如何解释错误的答案。你应该再次询问你的老师。这就是她的目的。
  • 谢谢,在我们周四提出解决方案之前,我们将无法再次与她交谈,这就是我提出这个问题的原因。我只想知道如何使代码工作,如果我能解释一下,那就很有帮助了。

标签: php arrays function


【解决方案1】:

在您的情况下,函数 create_item(&$cart, $item) 以及向 $cart 添加新项目会返回最后添加的项目的位置。
但是 array_push 函数已经 返回新的元素数量数组
函数可以简化为:

function create_item(&$cart, $item) {
    return array_push($cart['items'], $item) - 1;
}

http://php.net/manual/en/function.array-push.php

【讨论】:

  • 实际上,OP“答案”确实返回您期望它返回的值。这就是问题的 cmets 中讨论的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 2015-06-03
  • 1970-01-01
  • 2012-04-10
  • 2015-06-01
相关资源
最近更新 更多