Mailinglisten-Archive |
Hi Steffen, Am Montag, 31. Juli 2006 13:48 schrieb Steffen Kother: > Hallo Leute, > > ich sitze hier an einem mehrdimensionalen Array und krieg die Krise: > > Ich durchlaufe mittels while()-Schleife Datensaetze aus der Datenbank > und erstelle das Gerüst des Arrays: > > while ($record = mysql_fetch_assoc($query)) { > $sortiment_tmp = explode('|', $record['reklamation']); > $Sortiment = $sortiment_tmp[2]; > if (!array_key_exists($Sortiment, $sortimente)) { > $sortimente[$Sortiment]['Anzahl'] = 1; > $sortimente[$Sortiment]['Wert'] = $Verlust; > } else { > $sortimente[$Sortiment]['Anzahl']++; > $sortimente[$Sortiment]['Wert'] = > ($sortimente[$Sortiment]['Wert'] + $Verlust); > } > } > > Soweit ist auch alles gut. > > Nun sollen aber noch unter $sortimente[$Sortiment]['Material'] die > gefundenen Teilenummern als $Teilenummer eingefügt werden. Dazu > verwende ich das selbe if-Gerüst, um zu schauen, ob $Teilenummer > schon existiert. Natürlich ist da die Syntax angepasst. Leider > meckert er mir an, dass er den Index 'Material' nicht kennt. Das > Ergebnis am Ende - das Array - ist allerdings korrekt erstellt. > > $Teilenummer = $record['material']; > if (!array_key_exists($Teilenummer, > $sortimente[$Sortiment]['Material'])) { > $sortimente[$Sortiment]['Material'][$Teilenummer]['Anzahl'] = 1; > } else { > $sortimente[$Sortiment]['Material'][$Teilenummer]['Anzahl']++; > } das Problem ist, daß er beim ersten Mal $sortimente[$Sortiment] ['Material'] noch nicht findet, weil dieses Element zu diesem Zeitpunkt noch nicht existiert. Ändere die if-Abfrage einfach so: if (!isset($sortimente[$Sortiment]['Material'][$Teilenummer])) { ... } Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive