This was never resolved:
Is this, or is this not a bug:
class A
{
var $a;
}
$A = new A;
$A->a = array(1);
$array = &$A->a;
$clone = clone $A;
$clone->a = array(); //Affects a in $A.
print_r($A);
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net
This too:
class A
{
var $a = array();
public function &getA()
{
return $this->a;
}
}
$A = new A;
$A->a = array(1);
$array = &$A->getA();
$clone = clone $A;
$clone->a = array();
print_r($A);
On 15 Feb 2004, at 9:14 PM, Herr Witten wrote:
Here, I have reproduced the problem
Here, I have reproduced the problem:
class A
{
var $a = array();
public function makeAReference()
{
$array = $this->getA();
}
public function &getA()
{
return $this->a;
}
}
$A = new A;
$A->a = array(1);
$A->makeAReference();
$clone = clone $A;
$clone->a
Hello,
Monday, February 16, 2004, 1:54:36 AM, you wrote:
>> first as i said do the following to verify:
> It's a nice example, but it doesn't apply. I don't make a reference.
>> second read the docs and question such things on [EMAIL PROTECTED]
> I did. This problem seemed to be internal, and
first as i said do the following to verify:
It's a nice example, but it doesn't apply. I don't make a reference.
second read the docs and question such things on [EMAIL PROTECTED]
I did. This problem seemed to be internal, and it still does.
--
PHP Internals - PHP Runtime Development Mailing List
Hello,
first as i said do the following to verify:
[EMAIL PROTECTED] /usr/src/php5 $ php -r '$a=array(1,2);class t{public $a;function
f(){$this->a=&$GLOBALS["a"];}}$o1=new t;$o1->f();var_dump($o1);$o2=clone
$o1;$o1->a=2;var_dump($o2);var_dump($o1);'
make: `sapi/cli/php' is up to date.
object(t)#
That should be clone $object for the example.
On 15 Feb 2004, at 7:39 PM, Herr Witten wrote:
$clone = clone $cell;
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
More specifically,
This causes a change in $object:
$clone = clone $object;
$clone->troublesomeVariable = array();
But this doesn't:
$clone = clone $cell;
$clone = null;
$clone->_subElements = array();
On 15 Feb 2004, at 7:35 PM, Herr Witten wrote:
It appears that only one of the variables, an
It appears that only one of the variables, an array, is being shared
across these multiple objects, but other array variables are not.
Moreover, When I make a clone and then set the clone to null, all
clones made thereafter are correct.
$clone = clone $object;
$clone = null;
Also, I can't repli
Hello,
most probably that property is a reference in which case the result is
correct.
Sunday, February 15, 2004, 11:45:56 PM, you wrote:
> It appears that cloning is broken, since a modification to the clone
> modifies the original. For my __clone method implementation, I allow
> all of the v
I forgot to mention: I am use b4
On 15 Feb 2004, at 5:45 PM, Herr Witten wrote:
It appears that cloning is broken, since a modification to the clone
modifies the original. For my __clone method implementation, I allow
all of the variables to be set by default except for one. But this
problem p
It appears that cloning is broken, since a modification to the clone
modifies the original. For my __clone method implementation, I allow
all of the variables to be set by default except for one. But this
problem persists even when I don't modify that one variable.
--
PHP Internals - PHP Runtim
12 matches
Mail list logo