Heim >Backend-Entwicklung >PHP-Problem >So löschen Sie ein Wertelement in einem eindimensionalen Array in PHP

So löschen Sie ein Wertelement in einem eindimensionalen Array in PHP

coldplay.xixi
coldplay.xixiOriginal
2020-08-06 13:27:443082Durchsuche

So löschen Sie ein Wertelement in einem eindimensionalen Array in PHP: 1. Verwenden Sie die for-Schleifenanweisung und die Funktion [array_merge()], um den Wert zu entfernen. Der Code lautet [$arr = array_merge($arr)] ; 2. Verwenden Sie die Funktion [array_splice] 】Sequenzwert automatisch zurücksetzen.

So löschen Sie ein Wertelement in einem eindimensionalen Array in PHP

So löschen Sie ein Wertelement in einem eindimensionalen Array in PHP:

1. Schreiben Sie Ihre eigene for-Schleife

Entfernen Sie den Wert von $tmp aus das Array $tmp这个元素的值

<?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;,
);

代码

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

此时

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

要重置索引,加上一句

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

此时结果

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

array_merge()也可以实现同样的效果

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>
Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

2.优先使用php自带函数,因为那是用C实现的,比自己写效率高。

使用array_search和array_splice,这里array_splice

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

Code

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

Zu diesem Zeitpunkt

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

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

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

Das Ergebnis zu diesem Zeitpunkt

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

array_merge() kann auch den gleichen Effekt erzielen

rrreeerrreee

2 .Verwenden Sie lieber die Funktionen, die mit PHP geliefert werden, da diese in C implementiert sind und effizienter sind, als sie selbst zu schreiben.

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

Ergebnis zu diesem Zeitpunkt
rrreee🎜Best Practice🎜rrreee🎜Ergebnis🎜rrreee🎜Hier kann auch ein Vergleich durchgeführt werden, wenn es sich bei den Array-Elementen um komplexe Datenstrukturen handelt. Natürlich sind die Daten selbst immer noch eindimensional. 🎜🎜Im obigen Beispiel ist $tmp ein Wert. Wenn $tmp ein Array oder eine andere komplexe Datenstruktur ist, löschen Sie alle in $tmp enthaltenen Elemente aus $array. Die obige Methode ist ebenfalls gültig.🎜rrreee🎜🎜Verwandte Lernempfehlungen: 🎜 PHP-Programmierung 🎜 (Video) 🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo löschen Sie ein Wertelement in einem eindimensionalen 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