Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie den angegebenen Wert im Array in PHP

So löschen Sie den angegebenen Wert im Array in PHP

PHPz
PHPzOriginal
2023-04-21 09:05:32455Durchsuche

Heute besprechen wir, wie man mit PHP eine Methode schreibt, um bestimmte Werte in einem Array zu löschen.

Zunächst müssen wir Arrays verstehen. Array ist ein Datentyp, der es uns ermöglicht, mehrere Werte in einer Variablen zu speichern. Arrays in PHP können indizierte Arrays und assoziative Arrays sein. Indizierte Arrays sind numerisch indizierte Arrays, während assoziative Arrays Zeichenfolgenschlüssel verwenden, um jeden Wert anzugeben. Wir können ein Array erstellen mit:

// 索引数组
$numbers = array(1, 2, 3, 4, 5);

// 关联数组
$person = array("name" => "John", "age" => 30, "city" => "New York");

Sehen wir uns nun an, wie man einen bestimmten Wert in einem Array löscht. Angenommen, unser Array ist ein indiziertes Array:

$numbers = array(1, 2, 3, 4, 5);

Wir möchten den Wert 3 im Array löschen. Wir können die in PHP integrierte Funktion array_search() verwenden, um den zu finden Geben Sie den Schlüsselnamen des Werts ein und verwenden Sie die Funktion unset(), um den Wert zu löschen. array_search() 来查找该值的键名,并使用 unset() 函数来删除该值。

$index = array_search(3, $numbers);
unset($numbers[$index]);

现在,如果我们打印 $numbers 数组,您将看到它已经没有包含值 3 了。

print_r($numbers);
// 输出:Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )

但是,当我们使用 array_search() 函数时,它只能返回查找到的第一个匹配项的键。如果数组中有多个值,则我们需要删除每个匹配项。为了处理此情况,我们可以使用一个循环遍历数组并删除所有匹配项。

$numbers = array(1, 2, 3, 4, 5, 3);
$search = 3;

foreach ($numbers as $key => $value) {
    if ($value == $search) {
        unset($numbers[$key]);
    }
}

print_r($numbers);
// 输出:Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )

这样,我们就删除了数组中所有的值为 3 的元素。

另外,如果数组是关联数组,我们可以使用 array_search() 函数和 unset() 函数相同的方法来删除指定的值。

$person = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

$search = "John";

foreach ($person as $key => $value) {
    if ($value == $search) {
        unset($person[$key]);
    }
}

print_r($person);
// 输出:Array ( [age] => 30 [city] => New York )

这样,我们就成功地删除了关联数组中值为 "John" 的键。

总结一下,我们可以使用 array_search() 函数和 unset()rrreee

Wenn wir nun das $numbers-Array drucken, werden Sie sehen, dass es den Wert 3 nicht mehr enthält. #🎜🎜#rrreee#🎜🎜#Wenn wir jedoch die Funktion array_search() verwenden, kann sie nur den Schlüssel der ersten gefundenen Übereinstimmung zurückgeben. Wenn das Array mehrere Werte enthält, müssen wir jede Übereinstimmung entfernen. Um mit dieser Situation umzugehen, können wir eine Schleife verwenden, um das Array zu durchlaufen und alle Übereinstimmungen zu entfernen. #🎜🎜#rrreee#🎜🎜#Auf diese Weise löschen wir alle Elemente mit einem Wert von 3 im Array. #🎜🎜##🎜🎜#Wenn das Array außerdem ein assoziatives Array ist, können wir die Funktion array_search() und die Funktion unset() im selben verwenden Möglichkeit, den angegebenen Wert zu löschen. #🎜🎜#rrreee#🎜🎜#Auf diese Weise haben wir den Schlüssel mit dem Wert „John“ im assoziativen Array erfolgreich gelöscht. #🎜🎜##🎜🎜#Zusammenfassend können wir die Funktion array_search() und die Funktion unset() verwenden, um den angegebenen Wert im PHP-Array zu löschen. Wenn das Array mehrere Werte enthält, die gelöscht werden müssen, können wir eine Schleife verwenden, um alle übereinstimmenden Elemente zu durchlaufen und zu löschen. Diese Methode gilt sowohl für indizierte als auch für assoziative Arrays. Ich hoffe, dieser Artikel hat Ihnen geholfen, die Grundlagen und Methoden von PHP-Arrays besser zu verstehen. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo löschen Sie den angegebenen Wert im Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn