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.
Get PHP Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.