RE: [PHP] Stuck on array, need a little help.

From: Date: Tue, 04 Dec 2001 15:16:07 +0000
Subject: RE: [PHP] Stuck on array, need a little help.
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-76528@lists.php.net to get a copy of this message
I still can't get this to do what I want: $bikes = array( "Road" => array( "Trek" => array( "Trek 5200" => "road.php?brand=t5200" ), "LeMond" => array( "Zurich" => "road.php?brand=zurich", "Chambery" => "road.php?brand=chambery", "Alpe d'Huez" => "road.php?brand=alpe", "BuenosAries" => "road.php?brand=bueno", "Tourmalet" => "road.php?brand=tourmalet" ), "Moots" => array( "VaMoots" => "road.php?brand=vamoots" ) ), ); if ($cat == 'bikes') { while (list($key, $val)=each($bikes[$sub_cat])) { echo "<TD><IMG SRC=\"images/spacer.gif\" WIDTH=\"25\" HEIGHT=\"1\" ALT=\"\" BORDER=\"0\"></TD>\n"; echo "<TD><A HREF=\"$val\" CLASS=\"menu\">$key</A></TD>\n"; while (list($sub_key, $sub_val) = each($val)) { echo "<TD><A HREF=\"$sub_val\" CLASS=\"menu\">$sub_key</a></td>\n"; } } } Will produce: Trek Trek 5200 LeMond Zurich Chambery Alpe d'Huez BuenosAries Tourmalet Moots VaMoots as it should... But, I need it to produce: Trek LeMond Moots Trek 5200 Zurich Chambery Alpe d'Huez BuenosAries Tourmalet VaMoots And I need to get the value of $sub_val in the nested "while" loop to where $val is in the outer loop. I'm really stuck, any suggestions?? -Brian ************** > -----Original Message----- > From: Jim Musil [mailto:jim@nettmedia.com] > Sent: Friday, November 30, 2001 5:26 PM > To: b-bonini@home.com > Cc: php-general@lists.php.net > Subject: RE: [PHP] Stuck on array, need a little help. > > > > > The script is still working right, you just need to nest another > while loop into your current while loop. > > Like so ... > > if ($cat == 'bikes' && $sub_cat != 'Road') { > while (list($val, $key)=each($bikes[$sub_cat])) { > > echo "<tr><td>$val</td>"; > > while (list($sub_val, $sub_key) = each($key)) { > > > echo "<TD><IMG SRC=\"images/spacer.gif\" > WIDTH=\"25\" > HEIGHT=\"1\" > ALT=\"\" BORDER=\"0\"></td>\n"; > echo "<TD><A HREF=\"$sub_key\" > CLASS=\"menu\">$sub_val</a></td>\n"; > > > } > } > } > > alternatively, if you know specifically what you want you could > do this ... > > if ($cat == 'bikes' && $sub_cat != 'Road') { > while (list($val, $key)=each($bikes[$sub_cat]["Trek"])) { > > > > echo "<TD><IMG SRC=\"images/spacer.gif\" > WIDTH=\"25\" > HEIGHT=\"1\" > ALT=\"\" BORDER=\"0\"></td>\n"; > echo "<TD><A HREF=\"$key\" > CLASS=\"menu\">$val</a></td>\n"; > > > > } > } > > > > >No, all that will do is reverse the placement > >of the values. So now it prints out Array > >and puts the item in the URL. Still the same problem. > > > > > >> -----Original Message----- > >> From: Jim Musil [mailto:jim@nettmedia.com] > >> Sent: Friday, November 30, 2001 4:54 PM > >> To: b-bonini@home.com > >> Cc: php-general@lists.php.net > >> Subject: Re: [PHP] Stuck on array, need a little help. > >> > >> > >> Your script is working like you are asking it to ... > >> > >> > >> Change ... > >> > >> while (list($val, $key)=each($bikes[$sub_cat])) { > >> > >> To ... > >> > >> while (list($key, $val)=each($bikes[$sub_cat])) { > >> > >> and it should work like you WANT it to ... > >> > >> >I'm stuck. $key returns "Array" how can I get at each > >> >level of this array? > >> > > >> >if ($cat == 'bikes' && $sub_cat != 'Road') { > >> > while (list($val, $key)=each($bikes[$sub_cat])) { > >> > echo "<TD><IMG SRC=\"images/spacer.gif\" > >> > WIDTH=\"25\" > >> HEIGHT=\"1\" > >> >ALT=\"\" BORDER=\"0\"></TD>\n"; > >> > echo "<TD><A HREF=\"$key\" > >> > CLASS=\"menu\">$val</A></TD>\n"; > >> > > >> >$bikes = array( > >> > "Road" => array( > >> > "Trek" => array( > >> > "Trek 5200" => "road.php?brand=t5200" > >> > ), > >> > "LeMond" => array( > >> > "Zurich" => "road.php?brand=zurich", > >> > "Chambery" => > >> > "road.php?brand=chambery", > >> > "Alpe d'Huez" => > >> > "road.php?brand=alpe", > >> > "BuenosAries" => > >> > "road.php?brand=bueno", > >> > "Tourmalet" => > >> > "road.php?brand=tourmalet" > >> > ), > >> > "Moots" => array( > >> > "VaMoots" => > >> > "road.php?brand=vamoots" > >> > ) > >> > ), > >> > "Mountain" => array( > >> > "Trek" => array( > >> > "Fuel 100" => > >> > "mountain.php?brand=tfuel90", > >> > "Fuel 90" => > >> > "mountain.php?brand=schhg" > >> > ), > >> > "Klein" => array( > >> > "bike 1" => "URL", > >> > "bike 2" => "URL" > >> > ), > >> > "Gary Fisher" => array( > >> > "bike 1" => "URL", > >> > "bike 2" => "URL" > >> > ), > >> > "Moots" => array( > >> > "bike 1" => "URL", > >> > "bike 2" => "URL" > >> > ) > >> > ), > >> > > >> > > >> >-- > >> >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 > >> > >> > >> -- > >> Jim Musil > >> --------- > >> Multimedia Programmer > >> Nettmedia > >> ------------- > >> 212-629-0004 > >> jim@nettmedia.com > >> > >> -- > >> 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 > >> > > > >-- > >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 > > > -- > Jim Musil > --------- > Multimedia Programmer > Nettmedia > ------------- > 212-629-0004 > jim@nettmedia.com >

« previous php.general (#76528) next »