"foreach" schleife für mehrere Arrays!?

Grunge

Erfahrenes Mitglied
Hi

ich habe ein kleines Problem: Ich möchte in einem Rutsch mehrere Arrays auslesen...Dafür will ich aber nicht jedesmal eine neue Schleife machen, weil das folgen auf mein optisches Layout hat.

und zwar sollen die Arrays dann in einer Tabbelle eingetragen werden:

Spalte1|Spalte2|Spalte3|Spalte4|Spalte5

und dort soll dann zu jeder Spalte ein entsprechendes Array hinzugefügt/eingetragen werden mit dem <td>-Tag (Spalte1 erste Zeile = array1[0], spalte 2 erste Zeile=array2[0]......spalte 4 vierte Zeile = array4[3].....usw......)

hoffe ihr könnt mir weiterhelfen!!
 
Du könntest es mit [phpf]array_shift[/phpf] versuchen:
PHP:
$temp1=$array1;
$temp2=$array2;
//...
while ( ($t1=array_shift($temp1)) != null 
    AND ($t2=array_shift($temp2)) != null 
    /* AND ...*/) {
    echo $t1." ".$t2."\n";
}
Ob diese verglichene Zuweisung funktioniert, müßtest Du mal probieren, da bin ich mir nicht sicher. Ansonsten müßtest Du die Zuweisungen in der Schleife machen und mit [phpf]count[/phpf] in der Schleifenbedingung prüfen.

Gruß hpvw
 
mh scheint nicht zu funktonieren da ich die fehlermeldung

Warning: array_shift(): The argument should be an array in /usr/export/www/hosting/ruelingpunks/Wolftec/hp/store.php on line 38
bekomme

so sieht mein code aus meines erachtens nach arrays..so habe ich sie jedenfalls deklariert. Hätte ich euch vielleicht sagen sollen das ich hiermit sessinsarbeite!
PHP:
   <?
	  $menge=$_SESSION["menge"];
	  $preise=$_SESSION["preise"];
	  $ware=$_SESSION["user_ware"];
	  $artnr=$_SESSION["artnr"];
	

while ( ($t1=array_shift($menge)) != null 
    AND ($t2=array_shift($preise)) != null 
   /AND ($t3=array_shift($ware)) != null  
   AND ($t4=array_shift($artnr)) != null) {
    
      echo "  <td><input value=\"".$t1."\" name=\"menge\" type=\"text\" id=\"menge\" maxlength=\"4\"></td>";
      echo "  <td>".$t2."</td>";
	  echo "  <td>".$t3."</td>";
	
	  
      echo "  <td>".$t4."</td>";
	 
	}
	  ?>
 
Prüfe doch mal mit [phpf]var_dump[/phpf] was Du tatsächlich übergibst. Außerdem ist da noch ein Slash von dem Kommentar übrig geblieben.

EDIT: Warum speicherst Du denn nicht gleich in einem zweidimensionalen Array?

Gruß hpvw
 
Zuletzt bearbeitet:
sei mir nicht böse aber von einem 2d Array hab ich noch nichts gehört kannst du mir mehr darüber erzählen
 
Ein 2-dimensionales Array ist nichts anderes, als ein Array, das Arrays enthält.
PHP:
$warenkorb=array();

$warenkorbItem=array();
$warenkorbItem['menge']=10;
$warenkorbItem['preis']=20.50;
$warenkorbItem['user_ware']='DVD';
$warenkorbItem['artnr']=123;

$warenkorb[]=$warenkorbItem;

$warenkorbItem=array();
$warenkorbItem['menge']=1;
$warenkorbItem['preis']=9.99;
$warenkorbItem['user_ware']='Buch';
$warenkorbItem['artnr']=124;

$warenkorb[]=$warenkorbItem;

//Beispiel direkter Zugriff auf den Preis
//des ersten Eintrags
echo $warenkorb[0]['preis'];

//Beispiel zum durchlaufen aller Artikel 
//im Warenkorb
foreach ($warenkorb as $artikel) {
    echo $artikel['preis'];
    echo $artikel['menge'];
    //...
    echo "\n";
}
Zu Arrays in PHP siehe auch: http://de3.php.net/manual/de/language.types.array.php

Gruß hpvw
 

Neue Beiträge

Zurück