Maison > développement back-end > tutoriel php > La fonction PHP array_splice() supprime les éléments spécifiés d'un tableau et les remplace par d'autres valeurs

La fonction PHP array_splice() supprime les éléments spécifiés d'un tableau et les remplace par d'autres valeurs

黄舟
Libérer: 2023-03-17 08:42:01
original
2293 Les gens l'ont consulté

Exemple

Supprime un élément d'un tableau et le remplace par un nouvel élément :

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>
Copier après la connexion

Définition et utilisation

array_splice( ) La fonction supprime l'élément sélectionné du tableau et le remplace par un nouvel élément. La fonction renverra également un tableau d'éléments supprimés.

Astuce : Si la fonction ne supprime aucun élément (longueur=0), le tableau de remplacement sera inséré à partir de la position du paramètre start (voir exemple 2).

Commentaire  : Les noms de clés dans les tableaux de substitution ne sont pas conservés.

Syntaxe

array_splice(array,start,length,array)
Copier après la connexion
ParamètreDescription
tableauObligatoire . Spécifie un tableau.
startObligatoire. valeur numérique. Spécifie la position de départ de l'élément remove
参数描述
array必需。规定数组。
start必需。数值。规定删除元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。 -2 意味着从数组的倒数第二个元素开始。
length可选。数值。规定被移除的元素个数,也是被返回数组的长度。 如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
array可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。
. 0 = premier élément. Si la valeur est définie sur un nombre positif, la suppression commence au décalage dans le tableau spécifié par la valeur. 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.
longueurFacultatif. 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.
arrayFacultatif. Spécifie le tableau avec les éléments à insérer dans le tableau d'origine. S'il n'y a qu'un seul élément, il peut être défini sur string

et n'a pas besoin d'être défini à un tableau.

Détails techniques
返回值:返回包含被提取元素的数组。
PHP 版本:4+
<🎜>

更多实例

实例 1

与本页前面部分的实例相同,但是输出返回的数组:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>
Copier après la connexion

实例 2

带有设置为 0 的 length 参数:

<?php
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
?>
Copier après la connexion

在array_splice中,有这么一段代码:

/* Don&#39;t create the array of removed elements if it&#39;s not going
  * to be used; e.g. only removing and/or replacing elements */
 if (return_value_used) { // 如果有用到函数返回值则创建返回数组,否则不创建返回数组
   int size = length;
 
   /* Clamp the offset.. */
   if (offset > num_in) {
     offset = num_in;
   } else if (offset < 0 && (offset = (num_in + offset)) < 0) {
     offset = 0;
   }
 
   /* ..and the length */
   if (length < 0) {
     size = num_in - offset + length;
   } else if (((unsigned long) offset + (unsigned long) length) > (unsigned) num_in)     {
     size = num_in - offset;
   }
 
   /* Initialize return value */
   array_init_size(return_value, size > 0 ? size : 0);
   rem_hash = &Z_ARRVAL_P(return_value);
 }
Copier après la connexion

array_splice函数返回的是被删除的切片。这段代码的意思是,如果array_splice需要返回值,那么才创建返回数组,否则不创建,以免浪费空间。这也是一个编程小技巧,仅当需要的时候才返回。比如在函数中使用$result = array_splice(...),那么return_value_used就是true。

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal