Maison > Article > développement back-end > Comment supprimer des éléments spécifiques d'un tableau en php
Méthode : 1. Utilisez unset() pour supprimer l'élément avec le nom de clé spécifié, la syntaxe est "unset($array name[key name])" ; 2. Utilisez array_splice() pour supprimer plusieurs éléments en commençant par le spécifié. position, la syntaxe est "array_splice (Array, position de départ, nombre d'éléments)"; 3. Utilisez array_shift() pour supprimer le premier élément, la syntaxe est "array_shift(array)" 4. Utilisez array_pop() pour supprimer le dernier élément, la syntaxe est "array_pop(array)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
Méthode 1 : Utilisez l'instruction "$array name [key name]" et la fonction unset() pour supprimer le nom de clé spécifié Une instruction d'élément
$数组名[键名]
peut accéder à un élément du nom de clé spécifié
et la fonction unset() peut supprimer un élément de tableau de l'indice spécifié (nom de clé), c'est-à-dire , supprimez l'élément accédé
<?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); ?>
Méthode 2 : Utilisez la fonction array_splice() pour supprimer un ou plusieurs éléments en commençant à la position spécifiée
array_splice() est une fonction puissante avec plusieurs fonctions : les éléments du tableau peuvent être insérés et remplacés. Les éléments du tableau, bien sûr, vous pouvez également supprimer des éléments du tableau (après tout, le travail de la fonction array_splice() consiste à supprimer l'élément spécifié et à le remplacer par d'autres valeurs). La fonction
array_splice() peut supprimer le nombre spécifié d'éléments à partir de la position spécifiée.
array_splice($array,$start,$length)
Paramètres | Description |
---|---|
array | Obligatoire. Spécifie un tableau. |
start | Obligatoire. valeur numérique. Spécifie la position de départ des éléments supprimés.
0 = premier élément.
Si la valeur est définie sur un nombre positif, la suppression commence au décalage spécifié par la valeur dans le tableau. Si la valeur est définie sur un nombre négatif, la suppression commence au décalage spécifié par la valeur à partir de la fin du tableau.
-2 signifie commencer de l'avant-dernier élément du tableau. |
longueur | facultatif. valeur numérique. Spécifie le nombre d'éléments à supprimer, qui correspond également à la longueur du tableau renvoyé.
Si la valeur est définie sur un nombre positif, ce nombre d'éléments est supprimé. Si cette valeur est définie sur un nombre négatif, tous les éléments du début à la longueur inverse de la fin du tableau sont supprimés. Si cette valeur n'est pas définie, tous les éléments de la position définie par le paramètre start jusqu'à la fin du tableau sont supprimés. |
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视频教程》
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!