Heim > Artikel > Backend-Entwicklung > PHP: Detaillierte Erläuterung der Nutzungsunterschiede von unset und array_splice mit Beispielen
Es ist sehr einfach, Array-Elemente in
PHP zu zu löschen, aber manchmal erfordert das Löschen des Arrays eine gewisse Sortierung des Index . Wir werden die entsprechende -Funktion verwenden , hier stellen wir den Unterschied zwischen der Verwendung von unset und array_splice zum Löschen von Elementen in einem Array vor.
Wenn Sie ein Element in einem Array löschen möchten, Sie können unset direkt verwenden, aber der Index des Arrays wird nicht neu angeordnet:
<?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?>
Das Ergebnis ist:
Array ( [0 ] => a [2] => c [3] => d )
Wie können wir also sicherstellen, dass die fehlenden Elemente wird gefüllt und das Array wird sein. Was ist mit einer Neuindizierung? Die Antwort ist array_splice():
<?php $arr = array('a','b','c','d'); array_splice($arr,1,1); print_r($arr); ?>
Das Ergebnis ist:
Array ( [0] = > a [1] => c [2] => d )
Bestimmte Elemente im Array löschen
<?php $arr2 = array(1,3, 5,7,8); foreach ($arr2 as $key=>$value){ if ($value === 3) unset($arr2[$key]); } var_dump($arr2); ?>
Ergänzendes Löschen eines leeren Arrays
Beispiel:
2d903c7972d20488b7f8b94c98f42f59 "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>""); array_filter($array); echo "e03b848252eb9375d56be284e690e873"; print_r($array); ?>Ergebnis:
Array (
[a] => abc
[b] => bcd
[c] =>
[d] => def)
Zusammenfassung
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.
Das obige ist der detaillierte Inhalt vonPHP: Detaillierte Erläuterung der Nutzungsunterschiede von unset und array_splice mit Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!