【问题标题】:Undefined Index, but index exists未定义索引,但索引存在
【发布时间】:2019-07-08 06:09:50
【问题描述】:

$cart 是一个具有不同索引的数组。一切都很好,直到我添加了一个索引('cvariation')。如您所见,我给出了上面的 $cart- 数组,以检查它是否为空。但事实并非如此。我不明白我犯的错误。有人可以帮帮我吗?

for ($i = 0; $i < $cartcount; $i++)
{
    var_dump($cart);
    $innerarray[] = $cart[$i];
    $quantity = $innerarray['quantity'];
    $title = $innerarray['articleTitle'];
    $description = $innerarray['articleDescription'];
    $price = $innerarray['articlePrice'];
    $articlenumber = $innerarray['articleNumber'];
    $tax = $innerarray['tax'];
    $taxvalue = $innerarray['taxvalue'];
    $cvariation = $innerarray['cvariation'];

【问题讨论】:

  • 我们能看到更多你的代码吗?在哪里$cartcount
  • 你确定吗?如果您使用$innerarray[],您将在$innerarray 的末尾创建一个带有数字索引的新元素。访问 $innerarray['quantity'] 不会访问该最近附加项目中的任何内容
  • 通知说quantity 是未定义的索引(或第一个,不清楚之后是否有类似的消息)-但这不应该改变,因为你添加了一些试图访问的东西索引cvariation,该通知应该已经存在了。
  • @Isaac 我认为这无关紧要。为了您理解,此功能是针对商店系统的。所以这个 for 循环只是为每个“文章”重复这个动作。 $cartcout 只是“购物车”中“文章”的计数 ($cartcount = count($cart);)。
  • “我转储了 $innerarray,并且索引不是数字” - 这听起来也是不可能的,与您到目前为止所说的几乎相同。但是我们一直在猜测没有多大意义 - 请提供一个正确的minimal reproducible example 来显示问题。 (您可以使用 var_export 来创建 $cart 数组的代码表示,以便轻松创建一个简化的示例,以便对其进行正确测试。)

标签: php exception indexing undefined


【解决方案1】:
$innerarray[] = $cart[$i];

使$innerarray 成为一个二维数组,就像$cart 一样。看起来您只是希望 $innerarray 成为迭代的当前元素,所以应该是:

$innerarray = $cart[$i];

【讨论】:

    猜你喜欢
    • 2020-06-18
    • 2017-04-17
    • 1970-01-01
    • 2012-12-08
    • 2013-07-19
    • 2012-09-18
    • 1970-01-01
    • 2018-08-27
    • 2015-03-08
    相关资源
    最近更新 更多