Deux méthodes de suppression : 1. En utilisant la fonction array_splice(), il vous suffit de définir le deuxième paramètre de la fonction sur l'indice spécifié et le troisième paramètre sur 1. La syntaxe "array_splice($arr, spécifiez l'indice, 1) ». 2. Utilisez l'instruction "$array name[subscript]" et la fonction unset(), avec la syntaxe "unset($arr[specified subscript])".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
En PHP, vous pouvez utiliser la fonction array_splice() ou la fonction unset() pour supprimer un élément avec un indice spécifié .
Méthode 1 : Utilisez la fonction array_splice()
array_splice() est une fonction puissante avec plusieurs fonctions : elle peut insérer des éléments de tableau, remplacer des éléments de tableau et bien sûr supprimer des éléments de tableau (après tout, array_splice( ) Le travail de la fonction consiste à supprimer l'élément spécifié et à le remplacer par une autre valeur). 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. |
只需要将该函数的第二个参数$start设置为指定下标,第三参数$length设置为1(删除一个元素)即可。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array('one','two','three','php'); var_dump($arr); //删除下标为2的元素 array_splice($arr,2,1); echo "删除指定下标的一个元素后:"; var_dump($arr); ?>
可以看到,array_splice()函数会重置下标。
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相配合,进行插入操作(这里就不做具体介绍了)。
方法2:利用“$数组名[下标]”语句和unset()函数
$数组名[下标]
语句可以访问指定下标的一个元素
而unset()函数可以删除指定下标(键名)的一个数组元素,即删除访问到的一个元素
<?php header('content-type:text/html;charset=utf-8'); $arr = array(0 => "a", 1 => "b", 2 => "c"); echo "原数组:"; var_dump($arr); echo "删除指定下标的一个元素后:" ; unset($arr[1]); //↑ 你想删除的key(下标) var_dump($arr); ?>
说明:
unset()函数允许取消一个数组中的元素,但数组并不会重建索引,即保持原有索引,因为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!