On Tue, 13 Feb 2007, bedul wrote:

sry i don't get what u mean??

I'm looping through an array and I did this:

     $rate =& $mydata[$prefix];

 This is how you assign a variable by reference.  $rate should be a
 reference to $mydata[$prefix], not a copy.  If I change the value of
 $rate, the value of $mydata[$prefix] is also changed, and vice versa.

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

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;

the reason mydata2 empty was because it don't have value in it!!

full source plz
why u don't try this

foreach($mydata as $nm=>$val){
   $txt.="\n<li> $nm = $val";
   $txt2="<br>\$mydata[$nm] = $val";

print $txt;

 Because I'm trying to point out a problem with PHP, where setting a
 reference when the other side is undefined or not set, PHP creates a
 reference to a previously non-existent array item, just by setting a
 reference.  I don't think that should happen.

 Your code doesn't set anything by reference.

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.

we should cross check again.

 I don't know what you mean.

Peter Beckman                                                  Internet Guy
[EMAIL PROTECTED]                             http://www.purplecow.com/

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to