mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 04.12.2016 01:19 Benutzername: Passwort: Auto-Login

Thema: mehrdimensionales Array gezielt auslesen vom 16.10.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> mehrdimensionales Array gezielt auslesen
Autor Nachricht
ric1893
Threadersteller

Dabei seit: 29.04.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 16.10.2006 12:54
Titel

mehrdimensionales Array gezielt auslesen

Antworten mit Zitat Zum Seitenanfang

Hallo,

habe eine Frage zu folgendem Array-Bsp.:

Code:

$test = array(
   Kategorie1 => array(
            Inhalt1 => Wert,
            Inhalt2 => Wert
   ),
   Kategorie2 => array(
            Inhalt1 => Wert,
            Inhalt2 => Wert,
            Inhalt3 => Wert
   ),
   Kategorie3 => array(
            Inhalt1 => Wert,
            Inhalt2 => Wert
   )
   );


Wie ich diesen Array komplett auslese samt Inhalten und Werte weiß ich.
Nun möchte ich aber beispielsweise - sofern möglich -, dass nur die Kategorie2 des Arrays gelesen wird und die Inhalte und Werte ausgegeben werden. Kategorie1 und Kategorie3 sollen gar nicht gelesen werden bzw. nicht angezeigt werden.

Hat da jemand eine Idee, wie ich das anstellen kann?
Wäre super und schon mal dank im Voraus.


Gruß
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Mo 16.10.2006 13:36
Titel

Antworten mit Zitat Zum Seitenanfang

http://www.php.net/manual/de/language.types.array.php
 
Anzeige
Anzeige
kaputt

Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 16.10.2006 14:14
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
print_r($test['Kategorie2']);


oder eben

Code:
foreach ($test['Kategorie2'] as $key => $value) {
echo $key . ' -> ' . $value;
}


Zuletzt bearbeitet von kaputt am Mo 16.10.2006 14:17, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
ric1893
Threadersteller

Dabei seit: 29.04.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 16.10.2006 18:54
Titel

Antworten mit Zitat Zum Seitenanfang

Danke,

aber das war's noch nicht so ganz. Mit foreach lese ich den ganzen Array ja auch aus und kann mir denken, wenn ich den Array benenne, dass ich ihn direkt ansprechen kann.

Hab aber auch grad gesehen, dass mein Code etwas ungenau war. Wollte das wohl etwas abkürzen *zwinker* Hab auch das Manual gelesen, aber da steht die Form, wie ich sie anwende gar nicht drin.

Um genau zu sein, sieht er nämlich so aus:

Code:

$test = array(
   $var['Kategorie1'] => array(
            $var['Inhalt1'] => Wert,
            $var['Inhalt2'] => Wert
   ),
   $var['Kategorie2'] => array(
            $var['Inhalt1'] => Wert,
            $var['Inhalt2'] => Wert,
            $var['Inhalt3'] => Wert
   ),
   $var['Kategorie3'] => array(
            $var['Inhalt1'] => Wert,
            $var['Inhalt2'] => Wert
   )
   );


Hinter $var['...'] verbirgt sich ein Array zur Sprachausgabe. Das macht es leichter bei möglichen Änderungen. Glaube aber auch, das macht es bei dieser "gezielten" Abfrage des Arrays irgendwie 'n bisschen schwierig... Oder? Menno!


Gruß
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 18.10.2006 13:59
Titel

Antworten mit Zitat Zum Seitenanfang

häh? Das ist ein stinknormales 2d-Array. Stells dir als Tabelle vor:

Code:
Kategorie 1  -  Kategorie 2    -    Kategorie 3
---------------------------------------------
Inhalt 1    |    Inhalt 1    |      Inhalt 1
Inhalt 2    |    Inhalt 2    |      Inhalt 2
Inhalt 3    |    Inhalt 3    |      Inhalt 3


Fertig. Um an einen Wert gezielt ranzukommen:

Code:
$wert = $test['Kategorie 1']['Inhalt 1'];


Da du es mit zwei Schachtelungen zu tun hast, wirst du beim Auslesen ALLER Werte auch zwei (verschachtelte) Schleifen verwenden müssen.

Das hättest du aber alles selbst rausgefunden, wenn tatsächlich wie behauptet die Doku gelesen hättest.
 
ric1893
Threadersteller

Dabei seit: 29.04.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 18.10.2006 14:37
Titel

Antworten mit Zitat Zum Seitenanfang

Nun ja,

wie gesagt, hab das Manual gelesen. Finde also die Anmerkung der Behauptung nicht so ganz passend und vorschnell. Aber wie es manchmal ist, da steht man auf dem Schlauch und hat ein Brett vor dem Kopf.
Andererseits wollte ich auch nicht auf einen bestimmten Inhalt einer bestimmten Kategorie zugreifen, sondern auf alle Inhalte einer bestimmten Kategorie. Hatte ich auch so geschrieben. Und auf diesen Lösungsansatz bin ich zuerst nicht gekommen.

Lösung sieht nun so aus:
Code:
while(list($inhalt, $val) = each($test[$var['Kategorie2']])){

echo $inhalt; echo $val;

}


Also, dann bedanke ich mich mal für die Denkanstöße.
Im Nachhinein ist mir wenigstens die Frage halbwegs peinlich, weil ich hätte drauf kommen können. *zwinker*
Supi...

Gruß
  View user's profile Private Nachricht senden
 
Ähnliche Themen Mehrdimensionales Array-Feld in PHP auslesen
[Flash] mehrdimensionales assoziatives array
PHP: Mehrdimensionales Array händisch umsortieren
mehrere Arrays in ein mehrdimensionales Array kombinieren
Per PHP XML-Dokument in mehrdimensionales Array bringen
[PHP] Textdatei gezielt auslesen - nach Daten suchen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.