php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.07.2009, 15:47  
Registrierer
Gast
 
Beiträge: n/a
Standard [Erledigt] foreach mit Mehrdimensionalen Arrays

Leider ein sehr strapaziertes Thema, aber ich komme leider nicht weiter.

Ich lese das Array wie folgt aus:
PHP-Code:
<?
foreach ($ergebnis as $id => $name) {
  foreach (
$name as $feld => $empfaenger) {
    foreach (
$empfaenger as $bildname) {
      echo 
$bildname"<br>";
    }
    echo 
$feld."=".$empfaenger."<br>";
  }
}
?>
Dies erzeugt folgende Fehlermeldung:

Code:
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\www.himmelpfingsten.de\galerie\galerie.php on line 4
Ansonsten werden erstmal alle benötigten Daten korrekt ausgelesen.
Das Array sieht so aus:

Code:
Array
(
    [52] => Array
        (
            [UserName] => Test1
            [UserMail] => info@localhost.de
            [bilder] => Array
                (
                    [0] => 102054a5ca9ccd9704.jpg
                    [1] => 325944a5ca9cd1e84a.jpg
                )
        )

    [69] => Array
        (
            [UserName] => Test2
            [UserMail] => post@localhost.de
            [bilder] => Array
                (
                    [0] => 12474a5ca9c10b71e.jpg
                    [1] => 136124a5ca9c157bd2.jpg
                    [2] => 153494a5ca9c1a4086.jpg
                )
        )
)
Die Ausgabe wie beschrieben:

Code:
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\www.himmelpfingsten.de\galerie\galerie.php on line 4
UserName=Test1
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\www.himmelpfingsten.de\galerie\galerie.php on line 4
UserMail=info@localhost.de
102054a5ca9ccd9704.jpg
325944a5ca9cd1e84a.jpg
bilder=Array

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\www.himmelpfingsten.de\galerie\galerie.php on line 4
UserName=Test2
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\www.himmelpfingsten.de\galerie\galerie.php on line 4
UserMail=post@localhost.de
12474a5ca9c10b71e.jpg
136124a5ca9c157bd2.jpg
153494a5ca9c1a4086.jpg
bilder=Array
Ich versteh's nicht. Alle Daten da aber was ist hier verkehrt?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.07.2009, 15:50  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

UserName und UserMail sind keine Arrays.
Lerne Grundlagen!
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 15.07.2009, 15:53  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

edit: zu spät.
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 15.07.2009, 16:39  
Registrierer
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
UserName und UserMail sind keine Arrays.
Danke, Problem erkannt.
Jetzt habe ich

Code:
Array
(
    [52] => Array
        (
            [UserName] => Array
                (
                    [0] => Test1
                )
            [UserMail] => Array
                (
                    [0] => info@localhost.de
                )
            [bilder] => Array
                (
                    [0] => 102054a5ca9ccd9704.jpg
                    [1] => 325944a5ca9cd1e84a.jpg
                )
        )
    [69] => Array
        (
            [UserName] => Array
                (
                    [0] => Test2
                )
            [UserMail] => Array
                (
                    [0] => post@localhost.de
                )
            [bilder] => Array
                (
                    [0] => 12474a5ca9c10b71e.jpg
                    [1] => 136124a5ca9c157bd2.jpg
                    [2] => 153494a5ca9c1a4086.jpg
                )
        )
)
Nur wie spreche ich jetzt die einzelnen Werte an?
Name, Email und zugehörige Bilder?
Hab es mit allen möglichen Varianten z. B.:
PHP-Code:
foreach ($ergebnis as $id => $name) {
  foreach (
$name as $feld => $empfaenger) {
      foreach (
$empfaenger as $ausgabe) {
      echo 
$ausgabe["UserName"]."<br>";
    }
  }

probiert, aber da kommt nur Unsinn raus...
 
Alt 15.07.2009, 16:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

echo $feld , "- " , $ausgabe;
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 15.07.2009, 16:52  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Für die erste Datenstruktur brauchst du 2 Schleifen...

PHP-Code:
<?
foreach ($ergebnis as $id => $empfaenger) {
    echo 
$empfaenger['UserName'];
    foreach (
$empfaenger['bilder'] as $bildname) {
      echo 
$bildname"<br>";
    }
    echo 
$feld."=".$empfaenger."<br>";
  }
}
?>
erc ist offline  
Alt 15.07.2009, 17:02  
Registrierer
Gast
 
Beiträge: n/a
Standard

Entschuldige, so weit war ich schon hab mich falsch ausgedrückt.

Wie kann ich es erreichen, dass ich nur den Namen oder nur die Email oder nur die Bilder angezeigt bekomme?
 
Alt 15.07.2009, 17:02  
Erfahrener Benutzer
 
Registriert seit: 03.06.2009
Beiträge: 140
PHP-Kenntnisse:
Anfänger
thomasE befindet sich auf einem aufstrebenden Ast
Standard

ich weiss nicht, ob hierfür ein neuer Thread nötig gewesen wär.
Mehrdimensionales Array gruppieren

was genau ist dein Problem mit Arrays, was verstehst du daran nicht, wo ist der Knoten?
vielleicht kann man ja da helfen?

nur ich gerade wenig lust dir deinen gesamten Code häppchenweise vorzukauen.

Thomas

edit: ich vermute du meinst hier ercs code!?
Zitat:
Entschuldige, so weit war ich schon hab mich falsch ausgedrückt.
sicher?? schau dir das nochmal genau an, und vergleich es mit deinem ersten ansatz.

und wieso hast du UserName und UserMail in ein Array umgewandelt? nur damit eine foreach-schleife benutzen kannst, die da nicht hingehört?

@erc
PHP-Code:
echo $feld."=".$empfaenger."<br>"
ich weiss zwar nicht was in $feld drinsteht aber $empfaenger ist ein Array und wird dort immer "Array" ausgeben!

ich hab ercs code nochmal etwas aufbereitet, so dass die kompletten Daten ausgegeben werden und die Variablen an deine DB-Spalten angelehnt sind

PHP-Code:
foreach($ergebnis as $UserID => $user)
{
    echo 
"UserID: $UserID <br/>"
        
."UserName: {$user['UserName']} <br/>"
        
."UserMail: {$user['UserMail']} <br/>"
        
."bilder:<br/>";
        
    foreach(
$user['bilder'] as $bildname)
    {
        echo 
"&nbsp;&nbsp;&nbsp;$bildname<br/>";
    }
    echo 
"<br/><br/>";


Geändert von thomasE (15.07.2009 um 17:29 Uhr).
thomasE ist offline  
Alt 15.07.2009, 17:14  
Registrierer
Gast
 
Beiträge: n/a
Standard

Ich bekomme das Array nicht so zerlegt, dass ich die Email als Empfängeradresse verwenden kann und die Bilder im Unterarray als Anlagen per Mail verschicken kann.

Das ist eigentlich schon alles.
 
Alt 15.07.2009, 17:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Kommt ja darauf an, wie Du die Bilder angeben musst. Prinzipiell muss ja nicht alles in einem Statement passieren. Deine ursprüngliche Idee mit einem is_array würde auch funktionieren.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] foreach schleife beim erstellen einer image_map schlägt fehl litterauspirna PHP Tipps 2009 8 25.05.2009 13:04
[Erledigt] Mehere Arrays und nur 2 Werte aus jedem auslesen litterauspirna PHP Tipps 2009 3 07.05.2009 20:30
[Erledigt] Sortieren von Arrays Roflkid PHP-Fortgeschrittene 10 06.05.2009 22:48
[Erledigt] foreach mit Mehrdimensionalen Arrays serious-cool PHP Tipps 2009 2 24.02.2009 01:49
[Erledigt] foreach liefert Invalid argument supplied for foreach() fehler! litterauspirna PHP Tipps 2008 8 11.08.2008 11:22
mehrere Arrays mit Foreach? Diplomatic 55 PHP Tipps 2008 9 01.11.2007 16:53
foreach verändert die werte des arrays das durchlaufen wird Crypi PHP Tipps 2007 5 10.01.2007 08:24
foreach mit zwei übergebenen Arrays ? [erledigt] horstenpeter PHP Tipps 2006 1 03.09.2006 16:47
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
$_FILES mit foreach() PHP Tipps 2005-2 5 20.10.2005 10:27
Werte von mehreren Arrays in Datenbank schreiben! PHP Tipps 2005 10 10.04.2005 16:43
foreach und 2D arrays PHP Tipps 2004-2 2 29.12.2004 20:40
Drei verschiedene Arrays in die Datenbank? Paulo PHP Tipps 2004-2 21 18.11.2004 15:54
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php warning: invalid argument supplied for foreach(), www.himmelpfingsten.de, mehrdimensionalen id durchlaufen php, warning: invalid argument supplied for foreach() in php, warning: invalid argument supplied for foreach(), xamp array foreach, php mehrdimensionales array ausgeben invalid argument supplied for foreach, php mail foreach, php warning invalid argument supplied for forach, foreach bei mehrdimensionalen feld, was heißt invalid argument supplied for foreach, array in datenbank schreiben foreach, php mehrdimensionale felder invalid argument supplied for foreach() in, invalid argument supplied for foreach() ist array, invalid argument supplied for foreach php, php galerie foreach, php benutzerlogin mit arry, 2 array foreach 1 ergebniss, feldausgabe mit array.foreach, in array bilder angeben php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum