Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Verwendung zum Löschen eines Elements in einem Array in PHP

Zusammenfassung der Verwendung zum Löschen eines Elements in einem Array in PHP

伊谢尔伦
伊谢尔伦Original
2017-06-24 10:04:251528Durchsuche

Entfernen Sie den Wert des $tmp-Elements aus dem Array

<?php
$tmp = &#39;324&#39;;
$arr = array(&#39;0&#39; => &#39;321&#39;,&#39;1&#39; => &#39;322&#39;,&#39;2&#39; => &#39;323&#39;,&#39;3&#39; => &#39;324&#39;,&#39;4&#39; => &#39;325&#39;,&#39;5&#39; => &#39;326&#39;,
);

Code

<?php
foreach( $arr as $k=>$v) {
    if($tmp == $v) unset($arr[$k]);
}
print_r($arr);
?>

Zu diesem Zeitpunkt

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [4] => 325
    [5] => 326
)

Um den Index zurückzusetzen, fügen Sie einen Satz hinzu

<?php
foreach( $arr as $k=>$v) {
    if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>

Das Ergebnis ist

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)

array_merge() kann auch den gleichen Effekt erzielen

<?php
foreach( $arr as $k=>$v) {
    if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>

Das Ergebnis zu diesem Zeitpunkt

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)

2. Priorisieren Sie die Verwendung der mit PHP gelieferten Funktionen, da diese in C implementiert sind und effizienter sind, als sie selbst zu schreiben.

  1. Verwenden Sie array_search und array_splice, wobei array_splice den Sequenzwert automatisch zurücksetzt.

$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);

Ergebnisse zu diesem Zeitpunkt

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)
  1. Best Practices

$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);

Ergebnis

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)

Wenn es sich bei den Array-Elementen um komplexe Datenstrukturen handelt, kann auch hier ein Vergleich durchgeführt werden. Natürlich sind die Daten selbst immer noch eindimensional.
Im obigen Beispiel ist $tmp ein Wert. Wenn es sich bei $tmp um ein Array oder eine andere komplexe Datenstruktur handelt, löschen Sie alle in $tmp enthaltenen Elemente aus $array.

$arr = array_merge(array_diff($arr, $tmp));
var_dump($arr);

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung zum Löschen eines Elements in einem Array in PHP. 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