RE: [PHP-GENERAL] Assign by reference...

From: Date: Tue, 13 Jun 2000 02:32:36 +0000
Subject: RE: [PHP-GENERAL] Assign by reference...
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-1680@lists.php.net to get a copy of this message
You may need to reset the array pointer for $$multiples_arr > -----Original Message----- > From: Benjamin Berman [mailto:benbfly@yahoo.com] > Sent: Monday, June 12, 2000 7:01 PM > To: php-general@lists.php.net > Cc: benbfly@yahoo.com > Subject: [PHP-GENERAL] Assign by reference... > > > I'm having a problem with the new assign by reference feature in PHP4. > Consider the following code; it's an artificial example that takes an > array of numbers, for instance (1,2,3) and transforms it into an array > of arrays, where each array contains multiples of the original number, > for instance ((1,10,100), (2,20,200), (3, 30, 300)). Here is the code: > > > 1 $num_arr = array(1, 2, 3); > 2 $multiples_arr = array(); > 3 while (list($key, $val) = each($num_arr)) > 4 { > 5 $mult_arr = array($val, $val*10, $val*100); > 6 $multiples_arr[] = &$mult_arr; > 7 } > 8 > 9 while (list($key, $mult_arr) = each($multiples_arr)) > 10 { > 11 print join(",",$mult_arr)."<BR>\n"; > 12 } > > > I would expect to get the output: > > 1,10,100 > 2,20,200 > 3,30,300 > > But instead, I get the following: > > 3,30,300 > 3,30,300 > 3,30,300 > > > This is counter-intuitive with respect to other programming languages > I've used. I can guess what's happening underneath to make PHP display > this behavior, but it still seems to contradict my notion of what > "assignment by reference" means. Is there any way to get PHP to do what > I want it to do here? > > Thanks, > ben. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > For additional commands, e-mail: php-general-help@lists.php.net > To contact the list administrators, e-mail: php-list-admin@lists.php.net > >

« previous php.general (#1680) next »