查看下面的代码:
$index = GetIndexForId($itemid);
$item = null;
if( $index == -1 )
{
$item = array();
$this->items[] = $item;
$index = count($this->items)-1;
}
else
$item = $this->items[$index];
$item['id'] = $itemid;
$item['qty'] = $qty;
$item['options'] = $options;
$this->items[$index] = $item; // This line is my question
最后一行,是否有必要?我真的不知道php如何处理数组赋值。
P.S。 GetIndexForId只搜索当前ID是否已存在于数组中,其他“未声明”变量是参数。
答案 0 :(得分:3)
答案 1 :(得分:1)
如果您想更新您的对象,是的,您需要最后一行
答案 2 :(得分:-1)
任何值类型(如boolean,int ...)都不会通过引用传递。但是如果你的数组中充满了对象,它将通过引用传递。在你的例子中,你需要最后一行。但正如我所说,如果$ item是一个对象,你将不需要最后一行。可以通过引用传递值类型和引用运算符。
了解如何使用参考运算符 HERE