teil eines multidimesionalen arrays extrahieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • teil eines multidimesionalen arrays extrahieren

    Ich habe, wie im Titel angegeben, ein mehrdiemsionales array.

    Das sieht vereinfacht so aus.
    PHP-Code:
    //1. Array      2. Array
    $building[1]  = array('cat' => 1, ...);
    $building[2]  = array('cat' => 1, ...);
    $building[3]  = array('cat' => 2, ...); 
    Jetzt möchte ich nur die Elemente (also die keys) vom ersten array haben, wo im zweiten array cat == 1 ist. Wie kann ich das erreichen, möglichst ohne mit foreach alles abzusuchen?

  • #2
    PHP-Code:
    $building[1] = array_flip($building[1]) // jetzt ist key und schlüssel vertauscht
    foreach($building[1] as $key => $value)
    {
        echo 
    $key.' - '.$value.'<br>';

    so???
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Hmm so richtig bringt mich das noch nicht weiter.

      Die verschachtelten Arrays sehen jetzt so aus (mir print_r):
      PHP-Code:
      Array
      (
          [
      0] => Array
              (
                  [
      name] => Tagebau
                  
      [cat] => 1
                  
      ...
              )

          
      //dieses array wurde geflippt
          
      [1] => Array
              (
                  [
      Öl-Bohrtrum] => name
                  
      [1] => cat
                  
      ...
              )

      ...


      Und ich will wissen welches der Gebäude cat (Kategorie) X ist. Anscheinend hab ich nur die Möglichkeit mit foreach alle Gebäude abzuarbeiten und immer mit if die Kategorie abzufragen, was aber dauert bei der Größe. *grml*

      Trotzdem Danke!

      Kommentar


      • #4
        ich glaube nicht, dass du um eine schleife drumrum kommst.
        PHP-Code:
        foreach($building as $k=>$v)
        {
           if (
        $v['cat']==1)
              echo 
        $k;

        Kommentar


        • #5
          Gut dann werde ich das so machen. Ich bedanke mich!

          Kommentar

          Lädt...
          X