Siggi: Mehrdimensionales Arry durchsuchen

Ich  versuche gerade den Áufbau eines ARRAYs zu verstehen, aber ich komme nicht mehr weiter.

Mein Ziel ist es, nach einem Staat zu suchen und den Kontinet auszugeben.

<?php  
$staaten = array (  
    "Afrika" 	=> array("Tunesien","Sambia","Tansania","Gambia","Sambia"),  
    "Asien" 	 => array("China","Indien","Paksitan"),  
    "Europa" 	=> array("Deutschland","Österreich","Schweiz"),  
    "Amerika"    => array("Kanada","USA","Mexiko")  
);  
  
  
if(in_array("USA",$staaten["Amerika"]))  
   {  
   echo "Der Staat ist in USA enthalten";  
   }  
?>

Jetzt kann ich nach USA suchen, aber nur wenn ich weis das dieser in Amerika ist. Aber wie bewerkstellige ich es alle Kontinente zu durchsuchen?

Siggi

  1. Ich  versuche gerade den Áufbau eines ARRAYs zu verstehen, aber ich komme nicht mehr weiter.
    ...
    Jetzt kann ich nach USA suchen, aber nur wenn ich weis das dieser in Amerika ist. Aber wie bewerkstellige ich es alle Kontinente zu durchsuchen?

    indem du mit einer Schleife alle Einträge durchgehst (also Aufrika, Asien, Europa und Amerika) und dann jeweils deine if Abfrage machst. "foreach" ist das Stichwort, nach dem du suchen musst.

    1. Danke, das war der Schups in die RICHTIGE Richtung

      foreach ($staaten AS $kontinent => $value)  
      	{  
      	if(in_array($suche,$staaten[$kontinent]))  
      		{  
      		echo "Der Staat <b>".$suche."</b> ist im Kontinent <b>".$kontinent."</b>!";  
      		}  
      	}  
         
      

      aber eine Frage habe ich noch:

      Was ist der Unterschied zwischen " und ', da beides funktioniert.

      So

      $staaten = array (  
          'Afrika' 	=> array('Tunesien','Sambia','Tansania','Gambia','Sambia'),  
          'Asien' 	=> array('China','Indien','Pakistan'),  
      	'Europa' 	=> array('Deutschland','Österreich','Schweiz'),  
          'Amerika' 	=> array('Kanada','USA','Mexiko')  
      );
      

      oder

      $staaten = array (  
          "Afrika" 	=> array("Tunesien","Sambia","Tansania","Gambia","Sambia"),  
          "Asien" 	=> array("China","Indien","Pakistan"),  
      	"Europa" 	=> array("Deutschland","Österreich","Schweiz"),  
          "Amerika" 	=> array("Kanada","USA","Mexiko")  
      );
      
      1. Tach!

        Danke, das war der Schups in die RICHTIGE Richtung

        Und wenn du mal genau hinschaust, dann siehst du, dass du nicht nur ein Array hast, sondern ein Array, in dem sich wiederum Arrays befinden. Wenn man diesen Aufbau versteht und nicht von _einem_ großen "mehrdimensionalen" Array ausgeht, dann sollte auch die Erkenntnis leicht fallen, wie man sich durch dieses Gebilde bewegen kann. Also, zuerst das äußere Array durchlaufen und die einzelnen Arrays im Inneren separat behandeln.

        Was ist der Unterschied zwischen " und ', da beides funktioniert.

        Das steht im PHP-Handbuch unter Types -> Strings.

        dedlfix.