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

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

#1

  1. $obj->var1 = 'string1';
  2. $obj->var2 = 'string1';
  3. $arr[] = $obj;
  4. $obj->var1 = 'string2';
  5. $obj->var2 = 'string2';
  6. $arr[] = $obj;

#2

  1. $obj->var1 = 'string1';
  2. $obj->var2 = 'string1';
  3. array_push($arr,$obj);
  4. $obj->var1 = 'string2';
  5. $obj->var2 = 'string2';
  6. array_push($arr,$obj);

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

PHP 5或更高版本中,对象始终通过引用传递.如果需要副本,可以使用克隆运算符
  1. $obj = new MyClass;
  2. $arr[] = clone $obj;

猜你在找的PHP相关文章