suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So löschen Sie bestimmte Elemente aus einem Array

<p>Wie entferne ich ein Element aus einem Array, wenn ich seinen Wert kenne? Zum Beispiel: </p> <p>Ich habe ein Array: </p> <pre class="brush:php;toolbar:false;">$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');</pre> <p>Benutzereingabe<code>strawberry</code></p> <p><code>strawberry</code> wurde aus <code>$array</code> entfernt. </p> <p>Die vollständige Erklärung lautet wie folgt:</p> <p>Ich habe eine Datenbank, die eine durch Kommas getrennte Liste von Elementen speichert. Der Code ruft die Liste basierend auf dem vom Benutzer ausgewählten Standort ab. Wenn sie also Erdbeere auswählen, ruft der Code jeden Eintrag ab, der Erdbeere enthält, und konvertiert ihn mithilfe von split() in ein Array. Ich möchte das vom Benutzer ausgewählte Element aus dem Array entfernen, in diesem Beispiel beispielsweise Erdbeeren. </p>
P粉141455512P粉141455512509 Tage vor557

Antworte allen(2)Ich werde antworten

  • P粉511757848

    P粉5117578482023-08-21 13:42:03

    使用array_diff()进行一行解决方案:

    $array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi', 'strawberry'); //再加一个'strawberry'以证明它可以删除字符串的多个实例
    $array_without_strawberries = array_diff($array, array('strawberry'));
    print_r($array_without_strawberries);

    ...不需要额外的函数或foreach循环。

    Antwort
    0
  • P粉254077747

    P粉2540777472023-08-21 12:54:10

    使用array_search函数获取键,并使用unset函数将其删除(如果找到):

    if (($key = array_search('strawberry', $array)) !== false) {
        unset($array[$key]);
    }

    array_search函数在未找到项时返回false(在PHP 4.2.0之前返回null)。

    如果可能有多个具有相同值的项,可以使用array_keys函数获取所有项的键:

    foreach (array_keys($array, 'strawberry') as $key) {
        unset($array[$key]);
    }

    Antwort
    0
  • StornierenAntwort