我正在使用多维数组; 我使用arsort函数来获取最新添加的数组。一切正常
arsort($this->shoppingBag);
$this->productToShow = key($this->shoppingBag);
当我想使用这个数组时,我会这样做:
$prodName = key($this->shoppingBag[$this->productToShow]);
这给了我正确的产品,我需要正确的名称。当我做的时候
$count = $this->shoppingBag[$this->productToShow[$prodName]];
它给我一个“未定义的索引”错误。
当我用键作为字符串回显数组时,我从该数组中得到正确的值..
为什么会这样?如何使用该密钥获取值?
编辑:
array(4)
{
[38] => array(1)
{
["SAMSUNG LE32D450"] => int(3)
}
[32] => array(1)
{
["Inspiron 15R"] => int(1)
}
[29] => array(1)
{
["XPS 15"] => int(25)
}
[37] => array(1)
{
["Logitech M185 Black"] => int(10)
}
}
答案 0 :(得分:1)
这很简单,因为$this->productToShow
只是一个关键变量而不是数组。因此,对该变量的索引的调用是未定义的。那么你要找的答案不是$count = $this->shoppingBag[$this->productToShow][$prodName];
。
答案 1 :(得分:0)
尝试:
$count = $this->shoppingBag[$this->productToShow];
答案 2 :(得分:0)
$this->productToShow
不是数组。因此,$prodName
中的特定项目的关键点为$this->shoppingBag
,
我假设您希望$ count返回最后一个键因为如果我们将[$prodName]
错误地应用到$this->productToShow
键,$ count将返回购物中最后一个键的值袋。