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

  • Ein Array im andren Array finden. Wie?

    Guten Tag,

    ich habe ein Problem:

    Beispiel:
    Gegeben:

    PHP-Code:
    $array_1 ([0] => 3, [1] => 5, [3] => 10);
    $array_2 ([0] => 8, [1] => 5, [3] => 13);
    $array_3 ([0] => 3, [1] => 8, [3] => 20);
    $array_4 ([0] => 5, [1] => 2, [3] => 15); 
    Gesucht:

    PHP-Code:
    $suche ([0] => 3, [1] => 8); 
    Also es muss am Ende nur $array_3 gefunden werden.

    Ich iteriere durch 2 for-Schleifen, aber es bringt mir $array_1, $array_2 und $array_3 zusammen (und nicht nur $array_3), denn er prüft zu erst ob es 3 vorkommt und dann ob es 8 vorkommt. Ich brauche, dass es 2 Zahlen (in dem Fall 3 und 8 ) gleichzeitig geprüft bei den Arrays werden. Wie kriege ich das? Bitte um Ihre Hilfe!


  • #2
    Wo ist dein Code?
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Suchst du sowas?
      http://de3.php.net/manual/de/functio...diff-assoc.php
      Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

      Kommentar


      • #4
        PHP-Code:
        $array_1 ([0] => 3, [1] => 5);
        $array_2 ([0] => 8, [1] => 5);
        $array_3 ([0] => 3, [1] => 8);
        $array_4 ([0] => 5, [1] => 2); 

        $arrays = array($array_1$array_2$array_3$array_4);

        $result null;
        foreach (
        $arrays as $array) {
            if (
        $array[0] == and $array[1] == 8) {
                
        $result $array;
            }

        So?

        Kommentar


        • #5
          Bitte kein vom TE hier reingestellten Pseudocode
          PHP-Code:
          $array_1 ([0] => 3, [1] => 5);
          $array_2 ([0] => 8, [1] => 5);
          $array_3 ([0] => 3, [1] => 8);
          $array_4 ([0] => 5, [1] => 2); 
          kommentarlos in Antworten übernehmen..

          Edit: array_search !
          PHP-Klassen auf github

          Kommentar


          • #6
            Zitat von monolith Beitrag anzeigen
            PHP-Code:
            $array_1 ([0] => 3, [1] => 5);
            $array_2 ([0] => 8, [1] => 5);
            $array_3 ([0] => 3, [1] => 8);
            $array_4 ([0] => 5, [1] => 2); 

            $arrays = array($array_1$array_2$array_3$array_4);

            $result null;
            foreach (
            $arrays as $array) {
                if (
            $array[0] == and $array[1] == 8) {
                    
            $result $array;
                }

            So?
            Search array ist dynamisch... Das heisst 3 und 8 wird automatisch generiert.

            Kommentar


            • #7
              Zitat von jspit Beitrag anzeigen
              Bitte kein vom TE hier reingestellten Pseudocode kommentarlos in Antworten übernehmen..
              Wohl wahr Sorry.

              @beatart: Also es geht dir darum, den kleinsten und größten Wert zu finden?

              Kommentar


              • #8
                Zitat von monolith Beitrag anzeigen
                @beatart: Also es geht dir darum, den kleinsten und größten Wert zu finden?
                Nein, ich habe ein Array, der mehrere Arrays beinhaltet.
                Ich will in diesem Array nur die Arrays finden, die alle Werten haben, was mein Suche-Array hat. Beispiel ist in dem ersten Post.

                Die Werte in Suche-Array sind dynamisch, die kenne ich vorher nicht.

                Kommentar


                • #9
                  Schade, ich habe nämlich eine Suche für den kleinsten 0. und größten 1. gerade mal quick & dirty umgesetzt. Das poste ich jetzt aus Trotz einfach trotzdem:
                  PHP-Code:
                  <?php

                  $array1 
                  = array(35);
                  $array2 = array(85);
                  $array3 = array(38);
                  $array4 = array(52);

                  $arrays = array($array1$array2$array3$array4);
                  $min0 null
                  $min1 null;
                  $result null;

                  foreach (
                  $arrays as $array) {
                      if (
                  $min0 == null) {
                          
                  $result $array;
                          
                  $min0 $array[0];
                          
                  $min1 $array[1];
                      }
                      if (
                  $array[0] <= $min0) {
                          if (
                  $array[0] < $min0 or $array[1] >= $min1) {
                              
                  $result $array;
                              
                  $min0 $array[0];
                              
                  $min1 $array[1];
                          }
                      }
                  }

                  die(
                  var_dump($result));
                  Dennoch ist mir immer noch nicht klar wo du nicht weiter kommst, das Grundgerüst ist doch dann sowas (nur in schöner, haha):
                  PHP-Code:
                  function suche($arrays$suchWert1$suchWert2) {
                      
                  $gefunden = array();
                      foreach (
                  $arrays as $array) {
                          if (
                  $array[0] == $suchWert1 and $array[1] == $suchWert2) {
                              
                  $gefunden[] = $array;
                          }
                      }
                      return 
                  $gefunden;

                  Kommentar


                  • #10
                    Zitat von lstegelitz Beitrag anzeigen
                    Wo ist dein Code?
                    Ok, das war wohl nicht eindeutig, daher nochmal.

                    An den TE: Wo ist DEIN Code?
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Zitat von monolith Beitrag anzeigen

                      Dennoch ist mir immer noch nicht klar wo du nicht weiter kommst, das Grundgerüst ist doch dann sowas (nur in schöner, haha):
                      PHP-Code:
                      function suche($arrays$suchWert1$suchWert2) {
                          
                      $gefunden = array();
                          foreach (
                      $arrays as $array) {
                              if (
                      $array[0] == $suchWert1 and $array[1] == $suchWert2) {
                                  
                      $gefunden[] = $array;
                              }
                          }
                          return 
                      $gefunden;

                      Es gibt keine bestimmte Anzahl von Suchwerten. Sie wird auch dynamisch difiniert. Deswegen passt es nicht.

                      Kommentar


                      • #12
                        Zitat von lstegelitz Beitrag anzeigen
                        Ok, das war wohl nicht eindeutig, daher nochmal.

                        An den TE: Wo ist DEIN Code?
                        Code wird Dir nichts bringen. Es geht um Prinzip und ob es überhaupt eine Möglichkeit dafür gibt. Code habe ich beschrieben. Das klappt nicht, weil liefert kein gewünschtes Ergebnis.

                        Kommentar


                        • #13
                          Habe mir angeschaut. So was in der Art, aber diese 4 array-funktionen helfen mir nicht weiter. Habe sie gerade ausprobiert, sie eliminieren die Werte und liefern mir die Arrays ohne die Werte was ich suche. Ich brauche, dass es die Arrays eliminiert werden anstatt die Werten davon.

                          Kommentar


                          • #14
                            Dann nimm halt die dynamisch generierten Suchwerte und filter via array_filter dein multidimensionales array ?

                            Eine Suche ist eine Filterung. Arrays die in einem Array sind filtert man heraus wenn man sie sucht.

                            was in aller welt ist "illiminieren" ?
                            [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


                            • #15
                              Zitat von jspit Beitrag anzeigen
                              So, nun wollen wir wenigstens ein Versuch von dir sehen. Oder wartest du,
                              bis jemand die Lösung für dich hier reinschreibt?
                              PHP-Klassen auf github

                              Kommentar

                              Lädt...
                              X