📅  最后修改于: 2023-12-03 15:33:37.236000             🧑  作者: Mango
在 PHP 中,复制是指将变量或数组的值复制到另一个变量或数组中。这种技术在编程中经常使用,特别是当你需要保留原始值时。
要复制一个变量的值,你可以使用赋值操作符(=)来创建一个新变量,并将原始变量的值复制到新变量中。这比重新定义变量更简单。
$var1 = "foo";
$var2 = $var1; // $var2现在也是"foo"
与变量一样,你可以使用赋值操作符将一个数组复制到另一个数组中。但是,如果你使用“=”,只会创建一个数组的引用,而不是真正的复制。
$array1 = array("foo", "bar", "baz");
$array2 = $array1; // 这只是一个引用
要创建一个数组的真正副本,可以使用PHP的 array_slice()
或 array_merge()
函数。
$array3 = array_slice($array1, 0);
$array4 = array_merge([], $array1);
现在 $array3
和 $array4
都是 $array1
的真正副本。
对象的复制稍微有些复杂。如果你只是简单地对对象赋值,这仍然会创建一个指向同一对象的新引用。
class Foo {
public $bar;
}
$foo1 = new Foo();
$foo1->bar = "baz";
$foo2 = $foo1; // 这只是一个引用
要创建一个真正的副本,需要使用 PHP 的 clone
功能。
$foo3 = clone $foo1;
现在 $foo3
是 $foo1
的真正副本。