Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie Elemente aus einem Array in PHP

So entfernen Sie Elemente aus einem Array in PHP

coldplay.xixi
coldplay.xixiOriginal
2020-11-04 14:24:042122Durchsuche

So entfernen Sie Array-Elemente in PHP: 1. Um ein Element im Array zu löschen, können Sie die Methode [unset()] oder [array_splice()] verwenden. 2. Um mehrere Elemente im Array zu löschen, verwenden Sie [array_diff ()] oder [array_diff_key()]-Methode.

So entfernen Sie Elemente aus einem Array in PHP

So entfernen Sie Array-Elemente in PHP:

1. Löschen Sie ein Element in den Daten

Wenn Sie ein Element im Array löschen möchten, können Sie unset() oder array_splice verwenden ()-Methode.

Wenn Sie den Wert eines Array-Elements, aber nicht den Schlüssel kennen, können Sie array_search() verwenden, um den Schlüssel abzurufen.

unset()-Methodeunset()方法

注意如果你使用 unset() 方法,它是不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
           //↑ 你要删除的数组元素值的键
print_r($array);
?>

输出结果:

Array (
    [0] => a
    [2] => c
)

array_splice()方法

如果你使用 array_splice() 方法,数组的键会自动重新建立索引, 但对关联性的数组不起作用,需要使用 array_values() 将键转换为数字键。

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
                   //↑ Offset which you want to delete
print_r($array);
?>

输出结果:

Array
(
    [0] => a
    [1] => c
)

array_splice() 在释放数组指定元素上与 unset() 函数取到相同作用。

二、删除数组中的多个元素

如果你想删除数组中的多个元素就不能使用吗 unset() 或 array_splice() 函数了,你需要使用 array_diff() 或 array_diff_key() 方法,使用该方法需要知道要删除的键(key)或值(value)。

array_diff()方法

如果你知道要删除的数组元素, 你可以使用 array_diff()。

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
                          //└────────┘→你要删除的元素
print_r($array );
?>

输出结果为:

Array
(
    [1] => b
)

array_diff_key()

Beachten Sie, dass bei Verwendung der unset()-Methode andere Schlüssel nicht geändert werden. Wenn Sie andere Schlüssel neu anordnen möchten, können Sie array_values() verwenden.

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               //↑           ↑ 你要删除的数组键
print_r($array);
?>

Ausgabeergebnis:

Array (
    [1] => b
)

array_splice()-Methode

Wenn Sie die array_splice()-Methode verwenden, werden die Schlüssel des Arrays automatisch neu indiziert, dies funktioniert jedoch nicht für assoziative Arrays, was erforderlich ist. Verwenden Sie array_values(), um Schlüssel in numerische Schlüssel umzuwandeln. rrreeeAusgabeergebnis:
rrreee

array_splice() hat den gleichen Effekt wie die Funktion unset() beim Freigeben der angegebenen Elemente des Arrays.
🎜🎜2. Mehrere Elemente im Array löschen 🎜🎜🎜Wenn Sie mehrere Elemente im Array löschen möchten, können Sie nicht die Funktion unset() oder array_splice() verwenden. Sie müssen array_diff() oder array_diff_key() verwenden. Methode: Die Verwendung dieser Methode erfordert die Kenntnis des zu löschenden Schlüssels oder Werts. 🎜🎜array_diff()-Methode 🎜🎜Wenn Sie das Array-Element kennen, das Sie löschen möchten, können Sie array_diff() verwenden. 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜array_diff_key() Methode🎜🎜Wenn Sie den Schlüssel des Array-Elements kennen, das Sie löschen möchten, können Sie array_diff_key() verwenden. Sie müssen den zu löschenden Schlüssel an der Schlüsselwertposition des zweiten Parameters der Funktion eingeben. Der Wert ist nicht erforderlich und kann optional sein. 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜🎜Verwandte kostenlose Lernempfehlungen: 🎜php-Programmierung🎜 (Video)🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Elemente aus einem 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