Maison  >  Article  >  développement back-end  >  Est-il possible de prendre la valeur d'un tableau et de la supprimer en php ?

Est-il possible de prendre la valeur d'un tableau et de la supprimer en php ?

青灯夜游
青灯夜游original
2022-09-29 20:04:253142parcourir

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)".

Est-il possible de prendre la valeur d'un tableau et de la supprimer en php ?

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);
?>

Est-il possible de prendre la valeur dun tableau et de la supprimer en php ?

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()

La fonction array_pop() supprime le dernier élément du tableau et renvoie l'élément supprimé. (array_pop() changera le tableau d'origine.)

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);
?>
Est-il possible de prendre la valeur dun tableau et de la supprimer en php ?

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.

Supprimer la syntaxe :
array_splice(array,start,length)
Paramètre DescriptionObligatoire. Spécifie un tableau.
array
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);
?>

输出结果为:

Est-il possible de prendre la valeur dun tableau et de la supprimer en php ?

可以看出,我们使用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);
?>

输出结果为:

Est-il possible de prendre la valeur dun tableau et de la supprimer en php ?

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);
?>

输出结果为:

Est-il possible de prendre la valeur dun tableau et de la supprimer en php ?

可以看出只删除了第三个元素“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);
?>

输出结果为:

Est-il possible de prendre la valeur dun tableau et de la supprimer en php ?

注:$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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn