Maison >développement back-end >Problème PHP >Comment ajouter et supprimer des éléments au tableau php
Méthodes ajoutées : 1. array_unshift() insère des éléments au début, la syntaxe est "array_unshift(array, element list)" ; 2. array_push() insère des éléments à la fin, la syntaxe est "array_push(array, element) ". Méthode de suppression : 1. array_shift() supprime le premier élément, la syntaxe est "array_shift(array)" ; 2. array_pop() supprime 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
Comment ajouter des éléments au tableau php
1 La fonction array_unshift() insère de nouveaux éléments. dans le tableau La fonction
array_unshift($array,$value1,$value2...)
peut insérer un ou plusieurs nouveaux éléments (valeurs clés) au début du tableau. array_unshift($array,$value1,$value2...)
函数可以在数组的开头插入一个或多个新元素(键值)。
我们通过下面的例子来具体看看:
<?php $arr=array(10,12,20); array_unshift($arr,8,"9"); var_dump($arr); ?>
array_unshift($arr,8,9)
可以看出是在$arr数组的开头插入两个新元素:数值“8
”和字符串“9
”,因此输出结果为:
array_unshift()函数不会保持原有的数值索引关系,会删除所有的数值键名,并为其重新赋值,即从 0 开始重新计数;但所有的字符串键名保持不变。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array("a"=>"red","b"=>"green",3=>"pink"); echo "原来的数组:"; var_dump($arr); array_unshift($arr,"blue"); echo "在开头插入一个新元素后:"; var_dump($arr); ?>
输出结果:
2、array_push()函数在数组中插入新元素
array_push($array,$value1,$value2...)
函数可以在数组尾部插入一个或多个元素(键值)。
我们通过下面的例子来具体看看:
<?php $arr=array(10,12,20); array_push($arr,8,"9",3.14); var_dump($arr); ?>
array_push($arr,8,"9",3.14)
可以看出是在$arr数组的尾部插入3个元素:整数“8
”、字符串“9
”和浮点数“3.14
”,因此输出结果为:
array_push()函数和array_unshift()函数不一样,它不会重置数值键名,而是在原有数值键名的基础上计数。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array("a"=>"red","b"=>"green",3=>"pink"); array_push($arr,8,"9",3.14); var_dump($arr); ?>
输出结果:
3、array_pad()函数在数组中插入新元素
array_pad($array,$size,$value)
函数可以将某个键值$value
插入到数组$array
中,从而将数组填补到指定的长度$size
。($size
参数可以理解为数组中元素的最终数目,即插入操作后的数组长度)。
我们通过下面的例子来具体看看:
<?php $arr=array(10,12,20); $result =array_pad($arr,5,1); var_dump($result); ?>
从array_pad($arr,5,1)
可以看出,$size
的值为5,则插入操作后的数组中一共有5个元素;而原来就有3个元素了,那么就只需要插入2个元素。又因插入值$value
为1,则只需插入2个数值为“1”的元素即可。因此输出结果为:
从上例可以看出,array_pad()函数能够在数组尾部插入元素,其实array_pad()函数也能在数组的开头插入元素;而这其中的关键就是$size
参数。
$size
参数有三种取值情况:
为正数,则在数组尾部插入元素;
为负数,则在数组的开头插入元素;
如果其绝对值小于等于 $array
数组的长度,则不进行插入操作。
<?php $arr=array(10,12,20); $result =array_pad($arr,-5,1); var_dump($result); $result =array_pad($arr,3,1); var_dump($result); $result =array_pad($arr,2,1); var_dump($result); ?>
输出结果为:
参数$value
的值还可以为一个数组,即插入一整个数组,那么原数组就会变为一个二维数组。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20); $result =array_pad($arr,-5,array("张三",25,"男")); var_dump($result); ?>
输出结果为:
4、array_splice()函数在数组中插入新元素
array_splice($array,$start,$length,$value)
函数是一个强大的函数,可以用来删除数组元素、替换数组元素,也能用来插入数组元素(只需要将参数$length
的设置为0即可)。
当$length=0
,那么参数$start
就可指定开始插入的位置(下标),参数$value
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(10,12,20); array_splice($arr1,0,0,"1"); var_dump($arr1); $arr2=array(10,12,20); array_splice($arr2,0,0,array("1",25,"3")); var_dump($arr2); ?>
array_unshift($arr,8,9)
On constate que deux nouveaux éléments sont insérés au début du tableau $arr : la valeur "8" et la chaîne "9
", donc le résultat est :
🎜🎜array_unshift() ne conservera pas la relation d'index numérique d'origine, mais supprimera tous les noms de clés numériques et remplacez-les par Il est réaffecté, c'est-à-dire en comptant à partir de 0 mais tous les noms de clés de chaîne restent inchangés. 🎜<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(10,12,20); array_splice($arr1,count($arr1),0,"1"); var_dump($arr1); $arr2=array(10,12,20); array_splice($arr2,count($arr2),0,array("1",25,"3")); var_dump($arr2); ?>🎜Résultat de sortie : 🎜🎜🎜🎜🎜2. La fonction array_push() insère un nouvel élément dans le tableau🎜🎜🎜
array_push($array,$value1,$value2...)
La fonction peut insérer un ou Plusieurs éléments (valeurs clés). 🎜🎜Regardons de plus près l'exemple suivant : 🎜<?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); ?>🎜
array_push($arr,8,"9",3.14)
On voit que 3 éléments sont insérés à la fin du $ tableau arr : entier "8
", chaîne "9
" et nombre à virgule flottante "3.14
", donc le résultat de sortie est : 🎜🎜🎜🎜fonction Array_push() et array_unshift() La fonction est différente. Elle ne réinitialise pas le nom de la clé numérique, mais compte en fonction du nom de la clé numérique d'origine. 🎜<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); array_pop($arr); echo "删除后的数组:" ; var_dump($arr); ?>🎜Résultat de sortie : 🎜🎜🎜🎜🎜3. La fonction array_pad() insère de nouveaux éléments dans le tableau🎜🎜🎜
array_pad($array,$size,$value)
La fonction peut ajouter une valeur clé $ value
est inséré dans le tableau $array
, remplissant ainsi le tableau à la longueur spécifiée $size
. (Le paramètre $size
peut être compris comme le nombre final d'éléments dans le tableau, c'est-à-dire la longueur du tableau après l'opération d'insertion). 🎜🎜Regardons de plus près l'exemple suivant : 🎜array_unique(array,sortingtype)🎜De
array_pad($arr,5,1)
, nous pouvons voir que la valeur de $size
est 5, Ensuite, il y a un total de 5 éléments dans le tableau après l'opération d'insertion et il y a 3 éléments dans le tableau d'origine, alors seulement 2 éléments doivent être insérés ; Et comme la valeur insérée $value
est 1, il vous suffit d'insérer 2 éléments avec la valeur "1". Le résultat de sortie est donc : 🎜🎜$ size
. 🎜🎜Le paramètre $size
a trois valeurs : 🎜$array
, aucun élément ne sera inséré. 🎜<?php header("Content-type:text/html;charset=utf-8"); $arr=array(1,2,3,4,4,2,6); echo "原数组:"; var_dump($arr); echo "删除重复值后:" ; var_dump(array_unique($arr)); ?>🎜Le résultat de sortie est : 🎜🎜🎜🎜La valeur du paramètre
$value
peut également être un tableau, c'est-à-dire insérer un tableau entier, le tableau d'origine deviendra alors un deux -tableau dimensionnel. 🎜<?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); ?>🎜Le résultat de sortie est : 🎜🎜🎜🎜🎜4. La fonction array_splice() insère de nouveaux éléments dans le tableau🎜🎜🎜
array_splice($array,$start,$length,$value)
La fonction est un puissant fonction, il peut être utilisé pour supprimer des éléments de tableau, remplacer des éléments de tableau ou insérer des éléments de tableau (il suffit de définir le paramètre $length
sur 0). 🎜🎜Lorsque $length=0
, alors le paramètre $start
peut spécifier la position (indice) pour commencer l'insertion, et le paramètre $value
peut spécifier la valeur d'insertion (s'il y a plusieurs valeurs, elle doit être définie sous forme de tableau). 🎜🎜Regardons de plus près l'exemple suivant : 🎜<?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); ?>🎜Le résultat de sortie est : 🎜
从上例可以看出,当$start=0
时,会将$value值按顺序的插入到数组开头。那么想要在数组末尾插入元素要怎么弄?
简单,将$start
的值设置为“数组长度值”,即count($arr)
即可。
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(10,12,20); array_splice($arr1,count($arr1),0,"1"); var_dump($arr1); $arr2=array(10,12,20); array_splice($arr2,count($arr2),0,array("1",25,"3")); var_dump($arr2); ?>
输出结果为:
php数组删除元素的方法
1、array_shift()函数删除第一个元素
array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。
注释:如果键名是数字的,所有元素都将获得新的键名,从 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); ?>
2、array_pop()函数删除最后一个元素
array_pop() 函数删除数组中的最后一个元素。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); array_pop($arr); echo "删除后的数组:" ; var_dump($arr); ?>
3、array_unique()函数移除重复元素
array_unique() 函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。
注释:被保留的数组将保持第一个数组项的键名类型。
array_unique(array,sortingtype)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
sortingtype | 可选。规定排序类型。可能的值:
|
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(1,2,3,4,4,2,6); echo "原数组:"; var_dump($arr); echo "删除重复值后:" ; var_dump(array_unique($arr)); ?>
4、array_splice()函数删除任意位置元素
array_splice()是一个强大的函数,有多重功能:可以插入数组元素、可以替换数组元素,当然也可以删除数组元素(毕竟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相配合,进行插入操作(这里就不做具体介绍了)。
5、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); ?>
推荐学习:《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!