ID: 8661
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: Class/Object related
Description: a copy of the internal array elements is sometimes not made

This might be the same as 8130, but I'm not sure.


Previous Comments:
---------------------------------------------------------------------------

[2001-01-11 16:27:34] [EMAIL PROTECTED]
<?php
// buggy.php


// If I leave both A1 and A2 commented out, the code works fine.
// If I uncomment A1 only, the code works as expected
// If I uncomment A2 only, the code does not work as expected


class Element
{
    var $val;
    function set_value($newval)
    {
        $this->val = $newval;
    }
}

class Owner
{
    var $elementArray;
    function dump()
    {
        foreach ($this->elementArray as $index => $value)
        {
            print("index [$index] value [$value->val]<BR>");
        }
    }
}

$myOwner = new Owner();
$myOwner->elementArray[0] = new Element;

// -- A1 --
// this works as expected
$myOwner->elementArray[0]->val = 10;

// -- A2 --
// if this line is uncommented the code does not work as expected
//$myOwner->elementArray[0]->set_value(10);

print("dump myOwner<BR>");
$myOwner->dump();
print("<BR>");

print("make a copy of myOwner<BR>");
$copyOwner = $myOwner;
print("<BR>");

print("dump copyOwner<BR>");
$copyOwner->dump();
print("<BR>");

print("change copyOwner index 0 to 999999<BR>");

$copyOwner->elementArray[0]->val = 999999;

print("dump copyOwner<BR>");
$copyOwner->dump();
print("<BR>");

print("dump myOwner<BR>");
$myOwner->dump();
print("<BR>");

?>


---------------------------------------------------------------------------


Full Bug description available at: http://bugs.php.net/?id=8661


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to