Maison > développement back-end > tutoriel php > Explication détaillée de la suppression d'éléments dans des tableaux en PHP (unset, array_splice) Résumé des ajouts et suppressions d'éléments de tableau

Explication détaillée de la suppression d'éléments dans des tableaux en PHP (unset, array_splice) Résumé des ajouts et suppressions d'éléments de tableau

不言
Libérer: 2023-03-23 06:08:01
original
3613 Les gens l'ont consulté

Supprimer des éléments de tableau en PHP est très simple, principalement unset, array_splice, mais lorsqu'ils sont utilisés ensemble pendant une longue période, parfois ils ne peuvent pas faire la différence. Aujourd'hui, je le résume spécialement pour augmenter la mémoire et faciliter son utilisation.

De nombreux endroits ont cette différenceunset,array_splice

Si la fonction array_splice() est supprimée, la valeur d'index du tableau changera également.
Si la fonction unset() est supprimée, la valeur d'index du tableau ne changera pas.

En fait, je pense que cette distinction est fondée.

[php] afficher la copie brute

$arr0=array('a','b','c','d','f');  
$arr1=array(  
        'name'=>'lidequan',  
        'tel'=>'131****1234',  
        'height'=>'175',  
        'weight'=>'65'  
    );  
$arr2=array(  
        1=>'lidequan',  
        3=>'131****1234',  
        4=>'175',  
        6=>'65'  
    );  
$arr3=array(  
        'a'=>'lidequan',  
        3=>'131****1234',  
        4=>'175',  
        10=>'1705',  
        'b'=>'65'  
    );  
//1. array_splice($arr0,2,1);   
//2. unset($arr0[2]);  
  
//3. array_splice($arr1,2,1);  
//4. unset($arr1['height']);  
  
//5. array_splice($arr2,2,1);  
//6. unset($arr1[4]);  
  
//7.array_splice($arr3,2,1);
Copier après la connexion

Les résultats d'exécution de 1 et 2 sont différents

1 résultat d'exécution :

[php] afficher la copie simple

array (size=4)  
  0 => string 'a' (length=1)  
  1 => string 'b' (length=1)  
  2 => string 'd' (length=1)  
  3 => string 'f' (length=1)
Copier après la connexion

2 résultats d'exécution :

[php] afficher la copie simple

array (size=4)  
  0 => string 'a' (length=1)  
  1 => string 'b' (length=1)  
  3 => string 'd' (length=1)  
  4 => string 'f' (length=1)
Copier après la connexion

Résultats d'exécution de 3 et 4 C'est pareil

[php] voir la copie simple

array (size=3)  
  'name' => string 'lidequan' (length=8)  
  'tel' => string '131****1234' (length=11)  
  'weight' => string '65' (length=2)
Copier après la connexion

Les résultats d'exécution de 5 et 6 sont différents

5 Le résultat de l'exécution est le suivant :

[php] view plain copy

array (size=3)  
  0 => string 'lidequan' (length=8)  
  1 => string '131****1234' (length=11)  
  2 => string '65' (length=2)
Copier après la connexion

6 Le résultat de l'exécution est le suivant :

[php] afficher la copie simple

array (size=3)  
  1 => string 'lidequan' (length=8)  
  3 => string '131****1234' (length=11)  
  6 => string '65' (length=2)  

7的执行结果如下:
Copier après la connexion

[php] afficher la copie simple

array (size=4)  
  'a' => string 'lidequan' (length=8)  
  0 => string '131****1234' (length=11)  
  1 => string '1705' (length=4)  
  'b' => string '65' (length=2)
Copier après la connexion

总结:这说明,unset,array_splice,在删除数组元素,数组索引值变化原理在于

unset函数是按照数组键值进行删除数组里面的元素,删除之后,不再对数组进行任何操作。

array_splice函数删除元素是依据元素在数组中的次序(次序从0开始算起),进行删除元素,删除元素之后,如果数组中存在键值为整数的元素,将这些元素,依据其在数组中次序大小,将其键值从0~n依次更新。

补充:

关于数组添加删除元素操作

1.从头开始添加元素

array_unshift($a,"blue");
Copier après la connexion

2.从尾添加元素 array_push()

array_push($a,"blue");
Copier après la connexion
$a[]='blue';
Copier après la connexion

3.从头开始删除元素

array_unshift($a);
Copier après la connexion

4.从尾开始删除元素

array_pop($a);
Copier après la connexion

5.删除指定位置的元素

array_splice($a,2,1);
Copier après la connexion

6.删除指定键值的元素

unset($a[2]);
Copier après la connexion

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