Strange action with =&

From: Date: Tue, 13 Feb 2007 01:29:18 +0000
Subject: Strange action with =&
Groups: php.db 
Request: Send a blank email to php-db+get-43066@lists.php.net to get a copy of this message
I'm looping through an array and I did this:
    $rate =& $mydata[$prefix];
Now, in some cases $mydata[$prefix] wasn't set/defined, so I expected $rate to not be defined, or at least point to something that wasn't defined. Instead, PHP 5.1.6 set $mydata[$prefix] to nothing. If I had:
    $mydata[1] = 3;
    $mydata[3] = 2;
    $mydata[5] = 1;
And did a loop from $i=1; $i++; $i<=5 I'd get:
    $mydata[1] = 3;
    $mydata[2] = ;
    $mydata[3] = 2;
    $mydata[4] = ;
    $mydata[5] = 1;
Is this expected? A bug? Fixed in 5.2.0? I know I shouldn't set a reference to a variable that doesn't exist, but the expected result is a warning/error, not for PHP to populate an array. Beckman ---------------------------------------------------------------------------
Peter Beckman                                                  Internet Guy
beckman@purplecow.com                             http://www.purplecow.com/
---------------------------------------------------------------------------

« previous php.db (#43066) next »