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

前端之家收集整理的这篇文章主要介绍了如何在PHP中将对象的副本推送到数组中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在 PHP中将对象添加到数组中,但它没有用,尝试了2种方法

#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相关文章