对象通过引用传递给数组(CodeIgniter、DataMapper)


Object gets passed by reference to array (CodeIgniter, DataMapper)

这是我的代码:

$get = $this->auth->current_user()->author->get_iterated();
foreach($get as $page) $pages[] = $page;
foreach($pages as $page) var_dump($page->title);

现在,如果用户是2个页面的作者,则后一个foreach-循环将输出最后一个页面的标题2次。

我有理由不在第一个循环中输出标题。然而,我不想把整个代码粘贴到这里,因为问题可以在上面的小代码中看到。

看起来$page是通过引用数组$pages来传递的。是否可以而不是这样做,而是保存静态对象?

查看clone关键字/magic方法。这将创建对象的单独副本,您可以将其保存或传递到任何需要的地方…