Entfernen Sie den Wert des $tmp-Elements aus dem Array
<?php $tmp = '324'; $arr = array('0' => '321','1' => '322','2' => '323','3' => '324','4' => '325','5' => '326', );
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 )
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 )
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!