Methode: 1. Verwenden Sie unset(), um das Element mit dem angegebenen Schlüsselnamen zu entfernen. Die Syntax lautet „unset($array name[key name])“ 2. Verwenden Sie array_splice(), um mehrere Elemente beginnend beim angegebenen zu löschen position, die Syntax lautet „array_splice( Array, Startposition, Anzahl der Elemente)“ 3. Verwenden Sie array_shift(), um das erste Element zu löschen, die Syntax lautet „array_shift(array)“ 4. Verwenden Sie array_pop(), um das zu löschen Letztes Element, die Syntax lautet „array_pop(array)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Methode 1: Verwenden Sie die Anweisung „$array name [key name]“ und die Funktion unset(), um Entfernen Sie den angegebenen Schlüsselnamen. Eine Element-Anweisung
$数组名[键名]
kann auf ein Element des angegebenen Schlüsselnamens zugreifen
und die Funktion unset() kann ein Array-Element des angegebenen Indexes (Schlüsselnamens) löschen , löschen Sie das aufgerufene Element
<?php header('content-type:text/html;charset=utf-8'); $arr = array("Name"=>"Peter","Age"=>"41","Country"=>"USA"); echo "原数组:"; var_dump($arr); echo "删除指定键名的一个元素后:" ; unset($arr["Age"]); //↑ 你想删除的key(下标) var_dump($arr); ?>
Methode 2: Verwenden Sie die Funktion array_splice(), um ein oder mehrere Elemente beginnend an der angegebenen Position zu löschen
array_splice() ist eine leistungsstarke Funktion mit mehreren Funktionen: Array-Elemente können eingefügt und ersetzt werden. Array-Elemente können natürlich auch gelöscht werden (schließlich besteht die Aufgabe der Funktion array_splice() darin, das angegebene Element zu löschen und durch andere Werte zu ersetzen). Die Funktion
array_splice() kann die angegebene Anzahl von Elementen beginnend mit der angegebenen Position löschen.
array_splice($array,$start,$length)
Parameter | Beschreibung |
---|---|
Array | Erforderlich. Gibt ein Array an. |
start | Erforderlich. Zahlenwert. Gibt die Startposition gelöschter Elemente an.
0 = erstes Element.
Wenn der Wert auf eine positive Zahl festgelegt ist, beginnt die Entfernung an dem Offset, der durch den Wert im Array angegeben wird. Wenn der Wert auf eine negative Zahl festgelegt ist, beginnt die Entfernung an dem durch den Wert angegebenen Offset vom Ende des Arrays.
-2 bedeutet, dass mit dem vorletzten Element des Arrays begonnen wird. |
Länge | optional. Zahlenwert. Gibt die Anzahl der zu entfernenden Elemente an, die auch die Länge des zurückgegebenen Arrays ist.
Wenn dieser Wert auf eine positive Zahl gesetzt ist, entfernen Sie diese Anzahl an Elementen. Wenn dieser Wert auf eine negative Zahl gesetzt ist, werden alle Elemente vom Anfang bis zur Länge invers zum Ende des Arrays entfernt. Wenn dieser Wert nicht festgelegt ist, werden alle Elemente von der durch den Startparameter festgelegten Position bis zum Ende des Arrays entfernt. |
array_splice()函数的参数说明:
array_splice($arr,$start)
会删除从$start
位置开始的所有元素删除。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "删除后的数组:" ; array_splice($arr,2); var_dump($arr); ?>
$start
参数有三种取值情况:
为正数,那么从$start位置开始,往后删除;
为0,那么从第一个元素开始,往后删除;
为负数,则从距离 $arr 末端 -start 的位置开始,从后往前删除。例如 -2 意味着从数组的倒数第二个元素开始。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "删除后的数组:" ; array_splice($arr,-2); var_dump($arr); ?>
array_splice()函数是强大的,可以删除多个元素,也可只删除一个元素,那就需要给该函数指定一个$length参数(第三个参数),该参数用来规定删除的元素个数。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "删除后的数组:" ; array_splice($arr,2,1); var_dump($arr); ?>
$length参数也有三种取值情况:
为正数,那么就表示删除 length 个元素;
为负数,那么将删除从 start 开始,到数组末尾倒数 length 为止的所有元素;
如果省略,那么将删除从 start 开始,一直到数组末尾的所有元素。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "删除后的数组:" ; array_splice($arr,2,-1); var_dump($arr); ?>
$length参数还可以为0,那么就表示不删除元素,可以和该函数的第四个参数$value相配合,进行插入操作(这里就不做具体介绍了)。
方法3:使用array_shift()函数删除第一个元素
array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。
array_shift($arr)
array_shift()函数在删除$arr数组的开头的第一个元素后,arr 数组的长度会减 1,并将所有其他元素向前移动一位。如果键名是数字的,所有元素都将获得新的键名,从 0 开始,并以 1 递增;但字符串键名将保持不变。
注:该函数会改变原数组
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); array_shift($arr); echo "删除后的数组:" ; var_dump($arr); ?>
可以看到这个例子,我们原先的$arr数组里面有5个元素,使用array_shift($arr)方法之后,重新使用var_dump($arr)输出数组,发现只有4个元素了,数组头部元素被删除了。
方法4:使用array_pop() 函数删除最后一个元素
array_pop()函数删除数组中的最后一个元素。
array_pop($array)
该函数会改变原数组;返回值为数组的最后一个值,如果数组是空的,或者不是一个数组,将返回 NULL。
<?php header('content-type:text/html;charset=utf-8'); $arr = array(1,2,3,4,5,6,7,8,9,10); echo "原数组:"; var_dump($arr); array_pop($arr); echo "移除最后一项后:"; var_dump($arr); ?>
注:利用array_slice()函数也可实现删除第一个元素和最后一个元素。
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonSo entfernen Sie bestimmte Elemente aus einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!