luckyluke
Goto Top

Ausgabe Mehrdimensionales Array mit Foreach-Schleife nicht ganz richtig

Guten Morgen alle miteinander,

ich habe ein mehrdimensionales Array. Dieses Besteht aus: Überschrift - Parametername - Parameterwert.
Gefüllt wird es richtig und ich bekomme es auch richtig zugeordnet ausgegeben.
So sieht der Aufbau der Foreachschleife aus:

foreach($_POST['prdpara'] as $header => $wert) 	  
{ 
     echo '$header';  
     echo '<br>';  
}
         foreach( $wert as $para => $parawert ) 
         {
              echo '$para';  
              echo ' - ';  
              echo '$parawert';  
              echo '<br>';  
          }

Die Ausgabe sieht so aus:


1dabd23e4daa8e03f5b7eef8485f96a8-ausgabe


Wie zu sehen ist, wird ein Index (0,1,2,...) gesetzt.

Hat jemand von euch einen Hinweis, wieso dies so ist?
Wie schon geschrieben, die Zuordnung und dies Ausgabe vom Inhalt an sich ist so richtig, bis auf die Nummerierung von 0 - 6.


Gruß, Lucky.

Content-Key: 85651

Url: https://administrator.de/contentid/85651

Ausgedruckt am: 19.03.2024 um 11:03 Uhr

Mitglied: Natureshadow
Natureshadow 16.04.2008 um 12:32:50 Uhr
Goto Top
Hallo,

zunächstmal denke ich, dass du da einen Fehler hast - ich denke aber nur hier im geposteten Code, sonst würde diese Ausgabe da nicht zustande kommen. Das zweite foreach gehört vermutlich nämlich in das erste rein ...

Weiterhin wäre interessant, wie das Array zustande kommt - offensichtlich aus einem HTML-Formular. Wie ist dieses aufgebaut?

Grüße,
Nik
Mitglied: LuckyLuke
LuckyLuke 17.04.2008 um 10:36:31 Uhr
Goto Top
Guten Morgen Nik,

wie meinst du das mit "das zweite foreach gehört vermutlich nämlich in das erste rein"? Ist es doch, die Klammer vom ersten Foreach schließt nach dem zweiten ab.

Das mehrdimensionale Array steckt hier drin:
<input type="hidden" name="prdpara['.$pr_header[$z].']['.$pr_para[$z].']" value="'.$pr_parawert[$z].'" checked>  

Gruß, Lucky.
Mitglied: Natureshadow
Natureshadow 17.04.2008 um 12:51:17 Uhr
Goto Top
wie meinst du das mit "das zweite
foreach gehört vermutlich nämlich
in das erste rein"? Ist es doch, die
Klammer vom ersten Foreach schließt
nach dem zweiten ab.

In dem von dir geposteten Code definitiv nicht.
Mitglied: LuckyLuke
LuckyLuke 17.04.2008 um 13:39:45 Uhr
Goto Top
Ääh versteh mich bitte nicht falsch, aber ich sehe auf meinem Bildschirm keinen Code von dir gepostet ;).

Du meinst das aber sicherlich so:

foreach($_POST['prdpara'] as $header => $wert)       
{ 
     echo '$header';  
     echo '<br>';  

         foreach( $wert as $para => $parawert ) 
         {
              echo '$para';  
              echo ' - ';  
              echo '$parawert';  
              echo '<br>';  
          }
}

Bringt jedoch keine Abhilfe.
Mitglied: Natureshadow
Natureshadow 17.04.2008 um 13:49:50 Uhr
Goto Top
Ääh versteh mich bitte nicht
falsch, aber ich sehe auf meinem Bildschirm
keinen Code von dir gepostet ;).

Ich auch nicht. Aber wenn ICH etwas von "der von DIR gepostete Code" schreibe, müsstest du das eigentlich on-the-fly als "der von MIR gepostete Code" umschreiben - es geht also einzig und alleine um Code eines Benutzers namens LuckyLuke.

Zu deinem HTML-Foumular: Wo kommt $pr_header her?

-nik
Mitglied: LuckyLuke
LuckyLuke 21.04.2008 um 19:40:26 Uhr
Goto Top
Hey Nik,

$pr_header enthält Überschriften. Diese werden aus der Datenbank gelesen.
Da die Überschrift an einer bestimmten stelle stehen muss, packe ich $pr_header und $pr_para in ein Array, damit nur dann die Überschirft angezeigt wird, wenn der zugehörige Parameter ausgewählt wird.
Das ist der Sinn hinter dem Ganzen. Und der Parameterwert steckt in $pr_parawert.
Ich hoffe du kannst mir folgen, ansonsten poste ich den ganzen Code, damit es durchschaubarer wird.

Gruß, LuckyLuke.
Mitglied: Natureshadow
Natureshadow 22.04.2008 um 11:50:17 Uhr
Goto Top
Gute Idee.

Aber bitte in einen Pastebin und dann verlinken!

-nik
Mitglied: LuckyLuke
LuckyLuke 22.04.2008 um 12:44:16 Uhr
Goto Top
Soo, anbei der Link zum Quellcode.

Quellcode