Edit report at http://bugs.php.net/bug.php?id=53525&edit=1

 ID:                 53525
 Updated by:         cataphr...@php.net
 Reported by:        shoja dot mehrdad at gmail dot com
 Summary:            php version 5.3.0 - error in unset var for when used
                     in function
-Status:             Open
+Status:             Bogus
 Type:               Bug
 Package:            Variables related
 Operating System:   test in windows vista
 PHP Version:        5.3.4
 Block user comment: N
 Private report:     N

 New Comment:

Unset deletes the function local variable $array, not the global $b,
despite $array and $b being in the same reference set. This is by
design. When $array is recreated it already lost its connection to $b.



Note that $array and $b point to the same data, but $array doesn't
"know" which other variables (in this case,the global $b) point to this
same data its pointing, so it cannot really unset $b.


Previous Comments:
------------------------------------------------------------------------
[2010-12-12 09:27:41] shoja dot mehrdad at gmail dot com

Description:
------------
$b = array(1, 2, 3);

function b(&$array)

{

  $array[0] = 1000; 

  

       unset($array);   // <=====

  

  $array    = array();   

  $array[1] = 2000;   

}

  b($b);

  print_r($b);

Test script:
---------------
Array

(

    [0] => 1000

    [1] => 2

    [2] => 3

)





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



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53525&edit=1

Reply via email to