Maison > Article > développement back-end > Est-il possible de prendre la valeur d'un tableau et de la supprimer en php ?
Oui. 3 méthodes d'implémentation : 1. Utilisez array_shift() pour supprimer le premier élément et revenir, la syntaxe est "array_shift(array)" ; 2. Utilisez array_pop() pour supprimer le dernier élément et revenir, la syntaxe est "array_pop(array) ; "; 3. Utilisez array_splice() pour supprimer le nombre spécifié d'éléments à partir de la position spécifiée et renvoyer les éléments supprimés sous la forme d'un tableau. La syntaxe est "array_splice (tableau, position de départ, nombre d'éléments supprimés)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
Dans le tableau PHP, vous pouvez obtenir la valeur spécifiée et la supprimer du tableau d'origine.
Méthode 1 : Utiliser la fonction array_shift()
La fonction array_shift() est utilisée pour supprimer le premier élément du tableau et renvoyer l'élément supprimé. (array_shift() modifiera le tableau d'origine.)
array_shift(array)
Exemple :
<?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); ?>
Il y a 5 éléments dans notre tableau $arr d'origine. Utilisez array_shift($arr )<.>, utilisez à nouveau <code>var_dump($arr)
pour afficher le tableau et constatez qu'il n'y a que 4 éléments et que l'élément principal du tableau a été supprimé. array_shift($arr)
方法之后,重新使用var_dump($arr)
输出数组,发现只有4个元素了,数组头部元素被删除了。
array_shift()
array_shift()
Après que la fonction ait supprimé le premier élément au début du tableau $arr, la longueur du tableau arr sera réduite de 1 et tous les autres éléments seront avancés de un. Si la clé est numérique, tous les éléments recevront une nouvelle clé, commençant à 0 et augmentant de 1, mais les clés de chaîne resteront inchangées. Méthode 2 : Utilisez la fonction array_pop()
array_pop(array)Remarque : si le tableau est vide ou n'est pas un tableau, NULL sera renvoyé. Exemple :
<?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); ?>
Méthode 3 : Utilisez la fonction array_splice()
array_splice() est une fonction puissante avec plusieurs fonctions : vous pouvez insérer des éléments de tableau, vous pouvez remplacer des éléments de tableau, et bien sûr vous pouvez supprimer un élément du tableau (après tout, le travail de la fonction array_splice() consiste à supprimer l'élément spécifié et à le remplacer par une autre valeur). Jetons un coup d'œil à sa fonction de suppression.
Paramètre | Description |
---|---|
array | Obligatoire. Spécifie un tableau. |
start |
Obligatoire. valeur numérique. Spécifie la position de départ des éléments supprimés. |
longueur |
facultatif. valeur numérique. Spécifie le nombre d'éléments à supprimer, qui correspond également à la longueur du tableau renvoyé. |
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视频教程》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!