函式:Ds\Collection::copy()
適用版本:PHP 7.2.0 及以上版本
用法:copy() 方法用於返回一個當前集合的淺複製。淺複製意味著新的集合會包含原始集合中的相同元素的引用,而不是建立新的例項。該方法不會影響原始集合。
語法:public function copy(): Ds\Collection
引數:無
返回值:返回一個新的 Ds\Collection 物件,包含與原始集合相同的元素引用。
示例:
// 建立一個集合
$collection = new Ds\Collection(['apple', 'banana', 'cherry']);
// 建立一個集合的淺複製
$copy = $collection->copy();
// 修改原始集合的資料
$collection->push('durian');
// 輸出原始集合的元素
var_dump($collection->toArray());
// 輸出結果:array(4) { [0]=> string(5) "apple" [1]=> string(6) "banana" [2]=> string(6) "cherry" [3]=> string(6) "durian" }
// 輸出淺複製集合的元素
var_dump($copy->toArray());
// 輸出結果:array(3) { [0]=> string(5) "apple" [1]=> string(6) "banana" [2]=> string(6) "cherry" }
在上面的示例中,我們首先建立了一個包含三個元素的集合。然後,使用 copy()
方法建立了一個該集合的淺複製。接著,我們向原始集合中新增了一個新元素 "durian"。最後,我們分別輸出了原始集合和淺複製集合中的元素。可以看到,原始集合被修改了,而淺複製集合保持了原來的狀態。