Store the multiple elements in an array:
$fruits = array('red' => array('strawberry','apple'), 'yellow' => array('banana'));
Or, use an object:
while ($obj = mysql_fetch_object($r)) { $fruits[ ] = $obj; }
In PHP, keys are unique per array, so you can't associate more than one entry in a key without overwriting the old value. Instead, store your values in an anonymous array:
$fruits['red'][ ] = 'strawberry'; $fruits['red'][ ] = 'apple'; $fruits['yellow'][ ] = 'banana';
Or, if you're processing items in a loop:
while (list($color,$fruit) = mysql_fetch_array($r)) { $fruits[$color][ ] = $fruit; }
To print the entries, loop through the array:
foreach ($fruits as $color=>$color_fruit) { // $color_fruit is an array foreach ($color_fruit as $fruit) { print "$fruit is colored $color.<br>"; } }
Or use the pc_array_to_comma_string( ) function from Recipe 4.10.
foreach ($fruits as $color=>$color_fruit) { print "$color colored fruits include " . pc_array_to_comma_string($color_fruit) . "<br>"; }
Recipe 4.10 for how to print arrays with commas.
Copyright © 2003 O'Reilly & Associates. All rights reserved.