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

Printed on: April 19, 2024 at 10:04 o'clock

Member: Natureshadow
Natureshadow Apr 16, 2008 at 10:32:50 (UTC)
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
Member: LuckyLuke
LuckyLuke Apr 17, 2008 at 08:36:31 (UTC)
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.
Member: Natureshadow
Natureshadow Apr 17, 2008 at 10:51:17 (UTC)
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.
Member: LuckyLuke
LuckyLuke Apr 17, 2008 at 11:39:45 (UTC)
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.
Member: Natureshadow
Natureshadow Apr 17, 2008 at 11:49:50 (UTC)
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
Member: LuckyLuke
LuckyLuke Apr 21, 2008 at 17:40:26 (UTC)
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.
Member: Natureshadow
Natureshadow Apr 22, 2008 at 09:50:17 (UTC)
Goto Top
Gute Idee.

Aber bitte in einen Pastebin und dann verlinken!

-nik
Member: LuckyLuke
LuckyLuke Apr 22, 2008 at 10:44:16 (UTC)
Goto Top
Soo, anbei der Link zum Quellcode.

Quellcode