Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie unset, array_splice, um Elemente in einem Array zu löschen

So verwenden Sie unset, array_splice, um Elemente in einem Array zu löschen

伊谢尔伦
伊谢尔伦Original
2017-06-24 09:30:381158Durchsuche

Das Löschen von Array-Elementen in php ist sehr einfach, aber manchmal erfordert das Löschen des Arrays eine gewisse Sortierung des Index . Wir werden hier die entsprechende Funktion verwenden Wir werden den Unterschied zwischen der Verwendung von unset und array_splice zum Löschen von Elementen in einem Array vorstellen.

Wenn Sie ein Element in einem Array löschen möchten, können Sie unset direkt verwenden, aber den Index des Das Array wird nicht neu angeordnet:

<?php 
$arr = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;);
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 gefüllt und das Array neu indiziert wird? Die Antwort lautet array_splice():

<?php 
$arr = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;); 
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 des leeren Arrays

Beispiel:

<?php
  $array = (&#39;a&#39; => "abc", &#39;b&#39; => "bcd",&#39;c&#39; =>"cde",&#39;d&#39; =>"def",&#39;e&#39;=>"");
  array_filter($array);
  echo "<pre class="brush:php;toolbar:false">";
  print_r($array);
?>

Ergebnis:

Array ( 
     [a] => abc 
     [b] => bcd 
     [c] => cde 
    [d] => def
)

Zusammenfassung

Wenn die Funktion array_splice() gelöscht wird, der Indexwert des Arrays wird sich auch ändern.
Wenn die Funktion unset() gelöscht wird, ändert sich der Indexwert des Arrays nicht.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie unset, array_splice, um Elemente in einem Array zu löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn