2017-09-20 2 views
-2

Eine Aufgabe für die Schule, um ein multidimensionales Array zu erstellen.PHP: Foreach in einem multidimensionalen Array

<?php 
$cars = array( 
     "car1" => array ( 
      "brand" => 'BMW', 
      "license" => '30-KL-PO',  
      "price" => 10000 
      ), 

     "car2" => array (
      "brand" => 'Mercedes', 
      "license" => '51-ZD-ZD', 
      "price" => 20000 
     ), 

     "car3" => array (
      "brand" => 'Maserati', 
      "license" => 'JB-47-02', 
      "price" => 30000 
     ) 
    ); 

foreach($carss as $car){ 
echo $car['car1']['brand'] . $car['car1']['brand'] . "<br>"; 
} 

?> 

Ich brauche die Marke und Lizenz aller Autos zeigen einen foreach verwenden. Ich habe es mit nur car1 versucht und ich habe den Fehler: Undefinierter Index: car1. Keine Ahnung, wie ich es beheben kann.

Ich weiß, wie man es mit nur Echo zeigen, aber meine Aufgabe sagt, dass ich eine Foreach verwenden muss. Ich habe überhaupt keine Erfahrung mit PHP, also hoffe ich, dass ihr mich auf den richtigen Weg bringen könnt. Danke im Voraus.

Antwort

0

Ihre Schleife ändern

foreach($carss as $key => $car){ 
    echo $key ." ". $car['brand'] . "<br>"; 
} 
+1

nicht offtopic Fragen unterstützen. – tilz0R

0

Sie so etwas tun kann

<?php 
$cars = array( 
    "car1" => array ( 
     "brand" => 'BMW', 
     "license" => '30-KL-PO',  
     "price" => 10000 
    ), 
    "car2" => array (
     "brand" => 'Mercedes', 
     "license" => '51-ZD-ZD', 
     "price" => 20000 
    ), 
    "car3" => array (
     "brand" => 'Maserati', 
     "license" => 'JB-47-02', 
     "price" => 30000 
    ) 
); 
$result = []; // blank array to store result 
foreach($cars as $key => $val): 
$result[$key]["brand"] = $val["brand"]; 
$result[$key]["license"] = $val["license"]; 
endforeach; 
#echo "<pre>"; 
#print_r($result); 
?> 
0

Sie waren nicht weit weg:

<?php 
$cars = array( 
     "car1" => array ( 
      "brand" => 'BMW', 
      "license" => '30-KL-PO',  
      "price" => 10000 
      ), 

     "car2" => array (
      "brand" => 'Mercedes', 
      "license" => '51-ZD-ZD', 
      "price" => 20000 
     ), 

     "car3" => array (
      "brand" => 'Maserati', 
      "license" => 'JB-47-02', 
      "price" => 30000 
     ) 
    ); 

foreach($cars as $car) 
    printf("%-10s %s\n", $car['brand'], $car['license']); 

Ausgang:

BMW  30-KL-PO 
Mercedes 51-ZD-ZD 
Maserati JB-47-02 

Um einen einzelnen Wert von $cars mit den Tasten Ziel:

echo $cars['car1']['brand']; 

Ausgang:

BMW 
Verwandte Themen