Re: Specific References Incident

From: Date: Fri, 11 Jan 2002 00:34:56 +0000
Subject: Re: Specific References Incident
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-80139@lists.php.net to get a copy of this message
Well, just use the array index. ie. $a = array(1,2,3,4,5); foreach($a as $k=>$v) { $a[$k]++; } This is obviously going to increment each element in the array, right? Just do the same in your case. One has to wonder why you are using arrays of objects though... -Rasmus On Thu, 10 Jan 2002, Ken Kinder wrote: > Nope. Tried that too. > > On Thursday 10 January 2002 05:18 pm, Rasmus Lerdorf wrote: > > Use a while(list()=each()) loop. > > > > On Thu, 10 Jan 2002, Ken Kinder wrote: > > > Negative. > > > > > > On Thursday 10 January 2002 04:54 pm, Mark wrote: > > > > On Thu, 10 Jan 2002 16:49:45 -0700, Ken Kinder wrote: > > > > >That's what I had thought too, but no: > > > > > > > > > >Parse error: parse error, expecting T_VARIABLE' or > > > > >'$'' in > > > > >/home/ken/Projects/kwidgets/widgets.inc on line 74 > > > > > > > > how about this: > > > > foreach ($this->children as $key => $value) { > > > > $child=&$this->children[$key]; > > > > > > > > >On Thursday 10 January 2002 04:51 pm, Martin Towell wrote: > > > > >> does this work?? change > > > > >> foreach ($this->children as $child) { > > > > >> to > > > > >> foreach ($this->children as &$child) { > > > > >> > > > > >> > > > > >> -----Original Message----- > > > > >> From: Ken Kinder [mailto:ken@notenetwork.com] > > > > >> Sent: Friday, January 11, 2002 10:44 AM > > > > >> To: php-general@lists.php.net > > > > >> Subject: [PHP] Specific References Incident > > > > >> > > > > >> > > > > >> I have one specific incident I could use some help with too. I > > > > >>have the > > > > >> following method: > > > > >> > > > > >> function validate() { > > > > >> if ($this->returning) { > > > > >> $errors = array(); > > > > >> > > > > >> foreach ($this->children as $child) { > > > > >> $child->error = "Foo"; > > > > >> $error = $child->validate(); > > > > >> if ($error) { > > > > >> $this->errors_exist = 1; > > > > >> array_push ($errors, $error); > > > > >> } > > > > >> } > > > > >> } > > > > >> > > > > >> $this->errors = $errors; > > > > >> } > > > > >> > > > > >> The $this->children attribute should be an array of (references > > > > > > > > to) > > > > > > > > >> objects. > > > > >> > > > > >> I think somehow in the foreach ($this->children as $child) the > > > > >>objects are > > > > >> being copied, as $child->validate(); seems not to effect the > > > > >>original > > > > >> objects. > > > > > > -- > > > 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 (#80139) next »