Heim > Artikel > Backend-Entwicklung > Ist es möglich, den Wert eines Arrays zu übernehmen und ihn in PHP zu entfernen?
Ja. 3 Implementierungsmethoden: 1. Verwenden Sie array_shift(), um das erste Element zu löschen und zurückzukehren. Die Syntax lautet „array_shift(array)“. 2. Verwenden Sie array_pop(), um das letzte Element zu löschen und zurückzukehren. Die Syntax lautet „array_pop(array). "; 3. Verwenden Sie array_splice(), um die angegebene Anzahl von Elementen beginnend an der angegebenen Position zu löschen und die entfernten Elemente in Form eines Arrays zurückzugeben. Die Syntax lautet „array_splice(array, Startposition, Anzahl gelöschter Elemente)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Im PHP-Array können Sie den angegebenen Wert abrufen und ihn aus dem ursprünglichen Array löschen.
Methode 1: Verwenden Sie die Funktion array_shift().
Die Funktion array_shift() wird verwendet, um das erste Element im Array zu löschen und das gelöschte Element zurückzugeben. (array_shift() ändert das ursprüngliche Array.)
array_shift(array)
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_shift($arr); echo "第一个元素 $r <br><br>"; echo "获取元素后的:" ; var_dump($arr); ?>Sie können dieses Beispiel sehen. Es gibt 5 Elemente in unserem ursprünglichen $arr-Array. Verwenden Sie
array_shift($arr )-Methode, verwenden Sie erneut <code>var_dump($arr)
, um das Array auszugeben, und stellen Sie fest, dass nur 4 Elemente vorhanden sind und das Kopfelement des Arrays gelöscht wurde. array_shift($arr)
方法之后,重新使用var_dump($arr)
输出数组,发现只有4个元素了,数组头部元素被删除了。
array_shift()
array_shift()
Nachdem die Funktion das erste Element am Anfang des $arr-Arrays löscht, wird die Länge des arr-Arrays um 1 reduziert und alle anderen Elemente werden um eins nach vorne verschoben. Wenn der Schlüssel numerisch ist, erhalten alle Elemente einen neuen Schlüssel, der bei 0 beginnt und um 1 erhöht wird. Die Zeichenfolgenschlüssel bleiben jedoch unverändert.
Methode 2: Verwenden Sie die Funktion array_pop().
Die Funktion array_pop() löscht das letzte Element im Array und gibt das gelöschte Element zurück. (array_pop() ändert das ursprüngliche Array.)
array_pop(array)
Hinweis: Wenn das Array leer oder kein Array ist, wird NULL zurückgegeben.
Beispiel:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_pop($arr); echo "最后一个元素 $r <br><br>"; echo "获取元素后的:" ; var_dump($arr); ?>
Methode 3: Verwenden Sie die Funktion array_splice()
array_splice() ist eine leistungsstarke Funktion mit mehreren Funktionen: Sie können Array-Elemente einfügen, Sie können Array-Elemente ersetzen und natürlich Sie können ein Array-Element löschen (schließlich besteht die Aufgabe der Funktion array_splice() darin, das angegebene Element zu löschen und durch einen anderen Wert zu ersetzen). Werfen wir einen Blick auf die Löschfunktion.
Syntax entfernen:
array_splice(array,start,length)
Parameter | Beschreibung |
---|---|
Array | Erforderlich. Gibt ein Array an. |
start | Erforderlich. Zahlenwert. Gibt die Startposition gelöschter Elemente an. |
Länge | optional. Zahlenwert. Gibt die Anzahl der zu entfernenden Elemente an, die auch die Länge des zurückgegebenen Arrays ist. |
array_splice()函数会改变原数组,并以数组形式返回被移除元素。
我们来看下面一个小例子。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_splice($arr,2); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
可以看出,我们使用array_splice($arr,2)
从$arr数组的第3个元素开始删除元素,共删除了3个元素(将从第3个元素开始的所有元素删除了)。array_splice($arr,$start)
会删除从$start位置开始的所有元素删除,并以数组的形式返回被删除的元素。
$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); $r=array_splice($arr,-2); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; 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); $r=array_splice($arr,2,1); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
可以看出只删除了第三个元素“20”。
在删除元素操作中,$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); $r=array_splice($arr,2,-1); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
注:$length
参数还可以为0,那么就表示不删除元素,可以和该函数的第四个参数$value相配合,进行插入操作(这里就不做具体介绍了)。
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonIst es möglich, den Wert eines Arrays zu übernehmen und ihn in PHP zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!