Ankündigung

Einklappen
Keine Ankündigung bisher.

Array Elemente auf Inhalt prüfen

Einklappen

Neue Werbung 2019

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

  • Array Elemente auf Inhalt prüfen

    Hallo erstmal,

    ich möchte gern die Elemente eines Arrays auf den Inhalt prüfen. Jetzt hab ich das mit array_search versucht aber es funkt net bekomm immer null zurück. Gibts vielleicht noch ne andere möglichkeit außer array_search???

  • #2
    tipp:
    http://www.php.net/array

    Kommentar


    • #3
      Kleiner Auszug aus der PHP-Doku

      array_key_exists
      (PHP 4 >= 4.1.0, PHP 5)

      array_key_exists -- Prüft, ob ein Schlüssel in einem Array existiert
      Beschreibung
      bool array_key_exists ( mixed key, array search)


      array_key_exists() gibt TRUE zurück, wenn key in dem Array vorhanden ist. key kann jeder für einen Array-Index mögliche Wert sein.

      Beispiel 1. array_key_exists()
      PHP-Code:
      <?php
      $search_array 
      = array("erstes" => 1, "zweites" => 4);
      if (
      array_key_exists("erstes", $search_array)) {
          echo 
      "Das Element 'erstes' ist in dem Array vorhanden";
      }
      ?>
      Anmerkung: Der Name dieser Funktion ist in PHP 4.0.6 key_exists().

      Siehe auch isset().

      [/php]

      Kommentar


      • #4
        Hab das ganze jetzt mal mit array_keys_exist und so durch probiert.

        Hier mal der Code:

        PHP-Code:
                        foreach(($ArrayNewBuddies) as $item => $value){
                        
        $value = ltrim($value);
                            
                            echo
        "
                            <tr> 
                                  <td height=\"17\" bgcolor=\"#CBD2DA\"><font color=\"#000000\" size=\"1\" face=\"Verdana\">Buddy ([b]
        $value[/b]) wurde gelöscht.</font></td>";
                                
        $temp = array_search($value, $NewListArray);
                                unset(
        $NewListArray[$temp]);

                                if (
        $temp){
                                    echo 
        "
                                          <td height=\"17\" bgcolor=\"#CBD2DA\" align=\"center\"><img src=\"Bilder/sing_pm_deleted.gif\"></td>
                                          </tr>"
        ;
                                }
                                else{        
                                    echo 
        "
                                          <td height=\"17\" bgcolor=\"#CBD2DA\"><img src=\"Bilder/sing_pm_not_deleted.gif\"></td>
                                        </tr>"
        ;
                                }
                        } 

        Die Variable $temp bekommt den key von array_search z.B. 0
        Dann soll durch unset das Element 0 gelöscht werden.
        Wenn $temp dann gesetzt ist spring er in den IF-Block soweit hab ich's gecheckt.
        Mein Problem liegt jetzt darin das die Variable $NewListArray folgenden Inhalt hat:
        [1] => Biene [2] => Tulpe [3] => Bär
        Das ist noch soweit in Ordnung der nächste Value ist jetzt Biene
        jetzt müsste er meines Wissens nach Key 1 zurück geben. Genau hier liegt mein Problem ich bekomm keinen Wert zurück.
        Habt ihr vielleicht ne Idee an was das liegen könnte. Danke für eure Hilfe!

        Kommentar


        • #5
          Das hab ich auf php.net gefunden:

          array_search

          Warnung
          Diese Funktion kann sowohl das Boolsche FALSE zurückliefern, als auch einen nicht-Boolschen Wert, wie zum Beispiel0 oder "". der von einem einfachen if-Statement als FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die Boolsche Typen. Benutzen Sie deshalb den === Operator um den Rückgabewert dieser Funktion zu überprüfen.
          Habt ihr ne Idee wie ich das sonst lösen könnte damit ich die keys löschen kann??Danke nochmal

          Kommentar


          • #6
            wenn ich dich richtig verstehe möchtest du einen leeren schlüssel aus einem array löschen (?)

            empty und unset helfen dir da weiter:
            PHP-Code:
            <?php

            $_array 
            = array(0 => '', 1 => 'foo', 2  => 'bar', 3 => ' ');

            foreach(
            $_array as $key => $val)
            {
               
            $_array[$key] = trim($val);
               if(
            $empty($_array[$key]))
               {
                   unset(
            $_array[$key]);
                }
                else
                {
                   echo 
            $_array[$key];
                 }
            }

            ?>

            Kommentar


            • #7
              Nicht ganz ich möchte einfach sobald $value in in dem Array $NewListArray gefunden wird den Schlüssel auslesen welcher $temp zugewiesen wird. Dann über unset[Array[$temp]] das Element [$temp] löschen.

              Kommentar

              Lädt...
              X