gpt4 book ai didi

php - 如何在 PHP 中将对象的副本推送到数组中

转载 作者:可可西里 更新时间:2023-11-01 12:46:29 25 4
gpt4 key购买 nike

我尝试在 PHP 中将对象添加到数组中,但没有成功,尝试了两种方法:

#1

$obj->var1 = 'string1';
$obj->var2 = 'string1';
$arr[] = $obj;
$obj->var1 = 'string2';
$obj->var2 = 'string2';
$arr[] = $obj;

#2

$obj->var1 = 'string1';
$obj->var2 = 'string1';
array_push($arr,$obj);
$obj->var1 = 'string2';
$obj->var2 = 'string2';
array_push($arr,$obj);

这两种方法都会将最新的对象添加到整个数组中。似乎对象是通过引用添加到数组中的。有没有办法按值将它们添加到数组中?

最佳答案

在 php 5 或更高版本中,对象总是通过引用传递。如果你想要一个副本,你可以使用克隆操作符

$obj = new MyClass;
$arr[] = clone $obj;

关于php - 如何在 PHP 中将对象的副本推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com