数组中的每个元素在填充 (PHP) 后都具有相同的值


Every element in an array has the same value after filling (PHP)

我正在为我的公司开发订单处理器,但我遇到了一些问题。

对于我们数据库中的每个订单,我正在创建一个 Order 对象,其中包含该订单的所有信息(例如:订单 ID、客户地址等)。在此之后,我将每个对象放入一个数组中,该数组最终将传递到访问信息的不同页面。

现在,如果我对每个订单对象执行var_dump,我会得到正确的值。但是,如果我对对象数组(假设大小为 100)进行var_dump,我只会让最后一个对象重复 100 次。

所以:

    $order = new Order();
    $newOrder = array();
    ... While Loop to fill orders ...
    {
        ... Fill $order with data ...
        $newOrder[] = $order;
    }

如果我var_dump或print_r $newOrder,我会得到我输入的最后一$order,n 次。如果我在 while 循环中打印出每个订单,它会正确输出。

提前感谢!任何帮助将不胜感激。

$order = new Order(); 应该在循环中。这解决了它。

谢谢提格兰。