Ankündigung

Einklappen
Keine Ankündigung bisher.

Ein Array im andren Array finden. Wie?

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von beatart Beitrag anzeigen
    Code wird Dir nichts bringen.
    Mir aber, denn dann könnte ich meinen Beispielcode anpassen. Ich weiß nämlich nicht, wie deine Suchworte vorliegen.
    Zitat von beatart Beitrag anzeigen
    Es geht um Prinzip und ob es überhaupt eine Möglichkeit dafür gibt.
    Natürlich gibt es die, also bitte.
    Zitat von beatart Beitrag anzeigen
    Code habe ich beschrieben.
    Jedoch unzureichend.
    Zitat von jspit Beitrag anzeigen
    wartest du,
    bis jemand die Lösung für dich hier reinschreibt?
    Ja scheint so. Ich habe es versucht aber beim besten Willen, jetzt komme ich auch nicht mehr weiter, unzureichende Informationen ftw!

    Kommentar


    • #17
      Gelöst. Danke an Moewe!

      PHP-Code:
      foreach ($arrays as $array) {
          
      $result array_intersect($array$suche);
          if (
      sizeof($suche) == sizeof($result)) {
              echo 
      "<pre>";
              
      print_r $array );
              echo 
      "</pre>";
          }

      Danke an alle!!!

      Kommentar


      • #18
        PHP-Code:
        <?php

        $foo 
        = [
            [ 
        => 3=> 5=> 10 ],
            [ 
        => 8=> 5=> 13 ],
            [ 
        => 3=> 8=> 20 ],
            [ 
        => 5=> 2=> 15 ],
        ];

        $search = [ => 3=> ];

        $results array_filter($foo, function(array $in) use ($search) {
            
        // === <- order-sensitive, == <- order-insensitive
            
        return $search === array_intersect_assoc($in$search);
        });

        var_dump(current($results));
        array_intersect stört sich nicht nach keys, sondern nur nach values.
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #19
          Zitat von jspit Beitrag anzeigen
          Oder wartest du, bis jemand die Lösung für dich hier reinschreibt?
          Natürlich nicht. Lösung kann ich selber schreiben, brauche die Idee.

          Kommentar


          • #20
            Zitat von tr0y Beitrag anzeigen
            array_intersect stört sich nicht nach keys, sondern nur nach values.
            Ja, ich habe hier die Code angepasst, weil Code bei mir viel komplexer ist. Aber es klappt und es wurde mit Hilfe von "array_intersect" gelöst. Dann habe ich die Grösse vergliechen, damit es mir den richtigen array ausgibt.

            P.S. eliminieren, entschuldigung für mein Deutsch

            Kommentar


            • #21
              die größe des Arrays ist egal, du willst doch nach inhalte suchen, die können value technisch auf ganz anderen keys liegen und trotzdem übereinstimmen bei array_intersect.
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #22
                PHP-Code:
                print_r $vehicle_array['equipment'] ); 
                Liefert:

                Array1 ([0] => 3 [1] => 4 [2] => 8 )
                Array2 ([0] => 3 [1] => 5 [2] => 7 )
                Array3 ([0] => 2 [1] => 4 [2] => 6 )
                Array4 ([0] => 7 [1] => 8 [2] => 9 )

                PHP-Code:
                print_r $equipments ); 
                Liefert:

                Suche-Array ([0] => 3 [1] => 4)

                Das hat funktioniert:

                PHP-Code:
                foreach ($vehicles as $vehicle_id => $vehicle_array) {
                    
                $result array_intersect($vehicle_array['equipment'], $equipments);
                    if (
                sizeof($equipments) != sizeof($result)) {
                        unset(
                $vehicles[$vehicle_id]);
                    }

                Liefert $vehicle_id von Array1. Ich brauchte genau den Array1 zu finden, weil er die Werte von Suche-Array beinhaltet. Und die andre Arrays (2-4) wurden eliminiert.

                Kommentar


                • #23
                  [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                  Kommentar


                  • #24
                    Zitat von tr0y Beitrag anzeigen
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar

                    Lädt...
                    X