So löschen Sie bestimmte Elemente aus einem Array
P粉141455512
P粉141455512 2023-08-20 16:20:23
0
2
518
<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粉141455512
P粉141455512

Antworte allen(2)
P粉511757848

使用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循环。

P粉254077747

使用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]);
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!