Multidimension Array durchsuchen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Multidimension Array durchsuchen

    Hallo,

    ich sitze an einem Problem wo ich einfach nicht weiterkomme. Ich habe ein
    multidimension, assoziatives array.

    PHP Code:
    $meinarray = array(
                            array(
                            
    "tiel"   => "Ein Titel hier",
                            
    "pageID"        => array('20','21'),
                            ),
                            array(
                            
    "tiel"   => "Ein Titel hier",
                            
    "pageID"        => array('30'),                        
                            )
                        ); 
    Nun wollte ich eigentlich mit array_search das array durchsuchen, jedoch
    explizit nur die pageID (es gibt spaeter noch mehr werte und da koennte
    dann die nummer doppelt sein, ich moechte deswegen nur in pageID
    suchen). Gibt es dafuer eine Moeglichkeit? Ich brauche den Key damit ich
    nacher den Titel oder auch andere werte auslesen kann.

    Nur mit array_search funktioniert es ja nicht, wuerde mich ueber jeden Tip
    freuen.

    Vielen Dank im Voraus.

    Gruss Luka

  • #2
    Schreib dir doch eine eigene Funktion. Ist wahrscheinlich schneller geschrieben als eine Manual-Suche
    PHP Code:
    function sucheArray($arr,$suche){
      
    $ret = array();
      foreach(
    $arr as $key=>$wert){
        if(
    in_array($wert['pageID'],$suche) !== false){
          
    $ret[] = $key;
        }
      }
      return 
    $ret;

    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Comment


    • #3
      Hallo


      Danke fuer Deine Antwort. Leider bekomme ich die folgende Fehlermeldung
      "Wrong datatype for second argument" bei dieser Zeile.

      if(in_array($wert['pageID'],$suche) !== false){
      }

      Diese Meldung hatte ich bereits als ich ohne Funktion gearbeitet habe. Weist Du wo der Fehler liegt?

      Gruss Luka

      Comment


      • #4
        Sorry mein Bock, habe die Argumente vertauscht
        PHP Code:
        if(in_array($suche,$wert['pageID']) !== false){ 
        besser so ?
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Comment


        • #5
          Hallo,

          den Fehler haette ich natuerlich selber sehen muessen. Sorry. Die Fehlermeldung ist nun weg, nun muss ich mal schauen, ob ich mit dem Key dann den Titel aus dem entsprechenden Array auslesen kann. Nochmal vielen Dank, hoffe das ich es nun selber weiter schaffe.

          Gruss Luka

          Comment


          • #6
            Die Fehlermeldung ist nun weg, nun muss ich mal schauen, ob ich mit dem Key dann den Titel aus dem entsprechenden Array auslesen kann
            Einfach
            PHP Code:
              $ret[] = $wert['tiel']; 
            setzen statt den Key zu schreiben.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Comment


            • #7
              OffTopic:
              der eidgenosse ist auch wieder da? wo warst du denn?


              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Comment


              • #8
                GENIAL !!!! Es geht. Frage mich nur ob das Ganze nun etwas kompliziert ist, aber erstmal geht es.

                Werde mir darueber dann ein anderes Mal Gedanken machen. Vielen, Vielen Dank fuer Deine Hilfe.

                Gruss Luka

                Comment


                • #9
                  der eidgenosse ist auch wieder da? wo warst du denn?
                  Im WK oder FDT (Wiederholungskurs oder Fortbildung der Truppe). Beim Bund also...

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Comment


                  • #10
                    OffTopic:
                    und wie war es, vier wochen ohne internet?


                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Comment


                    • #11
                      und wie war es, vier wochen ohne internet?
                      OffTopic:

                      Hart an der Grenze war es schon, aber irgendwie auch schön

                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Comment


                      • #12
                        Original geschrieben von jahlives
                        Im WK oder FDT (Wiederholungskurs oder Fortbildung der Truppe). Beim Bund also...
                        [OT]Was, den Verein gibts immer noch
                        Gruss
                        H2O

                        Comment


                        • #13
                          OffTopic:
                          in der schweiz schon


                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Comment


                          • #14
                            Original geschrieben von H2O
                            Was, den Verein gibts immer noch

                            OffTopic:

                            Natürlich.... aber auch nicht mehr in der Schweiz... die sind so neutral, die brauchen natürlich keine Armee....

                            Allerdings gibt es ja immer noch die gute alte Schweizergarde in ihren lustigen bunten Uniformen.....

                            Und da hat der Tobi erfolgreich für 4 Wochen den Papst beschützt *gg*
                            Last edited by case; 22-07-2008, 10:16.
                            signed oder unsigned... das ist hier die Frage

                            Comment


                            • #15
                              Und da hat der Tobi erfolgreich für 4 Wochen den Papst beschützt
                              OffTopic:

                              Klar Tobi der Anti Christ hat den Papst beschützt

                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Comment

                              Working...
                              X