Das Löschen von Array-Elementen in PHP ist sehr einfach, hauptsächlich unset, array_splice, aber wenn sie längere Zeit zusammen verwendet werden, können sie manchmal keinen Unterschied erkennen. Heute fasse ich es speziell zusammen, um den Speicher zu erhöhen und die Verwendung zu vereinfachen.
Viele Orte haben diesen Unterschiedunset,array_splice
Wenn die Funktion array_splice() gelöscht wird, ändert sich auch der Indexwert des Arrays.
Wenn die Funktion unset() gelöscht wird, ändert sich der Indexwert des Arrays nicht.
Eigentlich denke ich, dass diese Unterscheidung prädiziert ist.
[php]Klartext anzeigen
$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);
Die Ausführungsergebnisse von 1 und 2 sind unterschiedlich
1 Ausführungsergebnis:
[php]Klartext anzeigen
array (size=4) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'd' (length=1) 3 => string 'f' (length=1)
2 Ausführungsergebnisse:
[php]Klartext anzeigen
array (size=4) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 3 => string 'd' (length=1) 4 => string 'f' (length=1)
Ausführungsergebnisse von 3 und 4 Es ist dasselbe
[php]Klartext anzeigen
array (size=3) 'name' => string 'lidequan' (length=8) 'tel' => string '131****1234' (length=11) 'weight' => string '65' (length=2)
Die Ausführungsergebnisse von 5 und 6 sind unterschiedlich
5 Die Ausführungsergebnisse lauten wie folgt:
[php]Klartext anzeigen
array (size=3) 0 => string 'lidequan' (length=8) 1 => string '131****1234' (length=11) 2 => string '65' (length=2)
6 Die Ausführungsergebnisse lauten wie folgt:
[php]Einzelkopie anzeigen
array (size=3) 1 => string 'lidequan' (length=8) 3 => string '131****1234' (length=11) 6 => string '65' (length=2) 7的执行结果如下:
[php]Einzelkopie anzeigen
array (size=4) 'a' => string 'lidequan' (length=8) 0 => string '131****1234' (length=11) 1 => string '1705' (length=4) 'b' => string '65' (length=2)
总结:这说明,unset,array_splice,在删除数组元素,数组索引值变化原理在于
unset函数是按照数组键值进行删除数组里面的元素,删除之后,不再对数组进行任何操作。
array_splice函数删除元素是依据元素在数组中的次序(次序从0开始算起),进行删除元素,删除元素之后,如果数组中存在键值为整数的元素,将这些元素,依据其在数组中次序大小,将其键值从0~n依次更新。
补充:
关于数组添加删除元素操作
1.从头开始添加元素
array_unshift($a,"blue");
2.从尾添加元素 array_push()
array_push($a,"blue");
$a[]='blue';
3.从头开始删除元素
array_unshift($a);
4.从尾开始删除元素
array_pop($a);
5.删除指定位置的元素
array_splice($a,2,1);
6.删除指定键值的元素
unset($a[2]);
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Löschen von Elementen in Arrays in PHP (unset, array_splice). Zusammenfassung der Hinzufügungen und Löschungen von Array-Elementen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!