4.2 Mehrere Array-Elemente unter einem Schlüssel speichern

Problem

Sie möchten mehrere Elemente mit einem einzigen Schlüssel verknüpfen.

Lösung

Speichern Sie die Elemente in ein Array:

$obst = array('rot' => array('Erdbeere','Apfel'),
                'gelb' => array('Banane'));

Oder verwenden Sie ein Objekt:

while ($obj = mysql_fetch_object($r)) {
    $obst[] = $obj;
}

Diskussion

Bei PHP sind die Schlüssel in einem Array eindeutig, daher können Sie nicht mehr als einen Eintrag einem Schlüssel zuordnen, ohne dabei den alten Wert zu überschreiben. Stattdessen können Sie aber die Werte in einem anonymen Array speichern:

$obst['rot'][] = 'Erdbeere';
$obst['rot'][] = 'Apfel';
$obst['gelb'][] = 'Banane';

Oder, wenn Sie die Gegenstände in einer Schleife durchlaufen:

while (list($farbe,$frucht) ...

Get PHP 5 Kochbuch, Third Edition 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.