mirror of
https://github.com/php/php-src.git
synced 2024-12-04 23:34:25 +08:00
49 lines
930 B
PHP
49 lines
930 B
PHP
--TEST--
|
|
SPL: Cloning an instance of ArrayObject which wraps an array.
|
|
--FILE--
|
|
<?php
|
|
$a = array(1,2);
|
|
$aa1 = new ArrayObject($a);
|
|
$a['p1'] = 'new element added to a before clone';
|
|
|
|
$aa2 = clone $aa1;
|
|
|
|
$a['p2'] = 'new element added to a after clone';
|
|
$aa1['new.aa1'] = 'new element added to aa1';
|
|
$aa2['new.aa2'] = 'new element added to aa2';
|
|
var_dump($a, $aa1, $aa2);
|
|
?>
|
|
--EXPECTF--
|
|
array(4) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
int(2)
|
|
["p1"]=>
|
|
string(35) "new element added to a before clone"
|
|
["p2"]=>
|
|
string(34) "new element added to a after clone"
|
|
}
|
|
object(ArrayObject)#1 (1) {
|
|
["storage":"ArrayObject":private]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
int(2)
|
|
["new.aa1"]=>
|
|
string(24) "new element added to aa1"
|
|
}
|
|
}
|
|
object(ArrayObject)#2 (1) {
|
|
["storage":"ArrayObject":private]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
int(2)
|
|
["new.aa2"]=>
|
|
string(24) "new element added to aa2"
|
|
}
|
|
}
|