Php 迭代对象的数组

Php 迭代对象的数组,php,arrays,oop,Php,Arrays,Oop,我有一个名为User的类,它有一个productsObject数组 在其他地方,我有一组用户。问题是我想访问用户[0]的产品[0] 运行代码时,出现以下错误: 间接修改重载属性User::$productsArray无效 问题是什么?这不是使用OOP的方式。通过引用传递对象参数是一种糟糕的做法!在确切知道自己在做什么之前,不应使用符号和&,或引用。首先,php已经将所有对象作为引用进行传递,所以这样做有点多余,其次,它根本不能证明脚本运行得更快@FélixGagnon Grenier PHP将所

我有一个名为User的类,它有一个productsObject数组

在其他地方,我有一组用户。问题是我想访问用户[0]的产品[0]

运行代码时,出现以下错误:

间接修改重载属性User::$productsArray无效


问题是什么?

这不是使用OOP的方式。通过引用传递对象参数是一种糟糕的做法!在确切知道自己在做什么之前,不应使用符号和&,或引用。首先,php已经将所有对象作为引用进行传递,所以这样做有点多余,其次,它根本不能证明脚本运行得更快@FélixGagnon Grenier PHP将所有对象作为引用传递?真的吗?@BenM,你有没有故意漏掉我的评论?无论如何,这是从PHP5开始的链接,对象变量不再包含对象本身作为值。它只包含一个允许对象访问器查找实际对象的对象标识符。@BenM,请参阅它包含了对“写时复制”的解释。
$users[0] = new User("ion","ion123","seller",$productsUser0);   
//construct allProducts array
$allProdCounter = 0;
$usr = $users[0];
$prodArray = &$users[0]->productsArray;
print_r($prodArray);