Heim > Artikel > Backend-Entwicklung > So löschen Sie Array-Elemente basierend auf dem Schlüssel in PHP
So löschen Sie Array-Elemente basierend auf dem Schlüssel in PHP: Verwenden Sie zuerst die Funktionen array_keys() und array_search(), um die Startposition x des zu löschenden Elements basierend auf dem Schlüssel zu finden , 1);“, um das angegebene Array-Element zu löschen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Die Elemente im PHP-Array liegen in Form von Schlüssel-Wert-Paaren vor ('key'=>'value '), Manchmal müssen wir ein bestimmtes Element im Array basierend auf seinem Schlüssel löschen.
<?php function array_remove($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr, $index, 1); } return $arr; } $data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou'); $result = array_remove($data, 'age'); var_dump($result); ?>
Ausgabe:
array (size=2) 'name' => string 'apple' (length=5) 'address' => string 'ChinaGuangZhou' (length=14)
Anweisungen zur Verwendung der Funktion:
1.array_search()
Definition und Verwendung
Die Funktion array_search() ist dieselbe wie in_array() und sucht nach einem Schlüsselwert im Array . Wird der Wert gefunden, wird der Schlüssel des passenden Elements zurückgegeben. Wenn nicht gefunden, wird false zurückgegeben.
Vor PHP 4.2.0 gaben Funktionen bei einem Fehler null statt false zurück.
Wenn der dritte Parameter strict als true angegeben ist, wird der Schlüsselname des entsprechenden Elements nur zurückgegeben, wenn Datentyp und Wert konsistent sind.
Syntax
array_search(value,array,strict)
Parameterbeschreibung
Wert Erforderlich. Gibt den Wert an, nach dem im Array gesucht werden soll.
array Erforderlich. Das zu durchsuchende Array.
streng Optional. Mögliche Werte:
true
false Standard
Wenn der Wert auf true gesetzt ist, wird auch der Typ des angegebenen Werts im Array überprüft
[Lernempfehlung: „PHP Video Tutorial“]
Beispiel:
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_search("Dog",$a); ?>
2.array_splice()
Definition und Verwendung
Die Funktion array_splice() ähnelt der Funktion array_slice() und wählt eine Reihe von Elementen im Array aus, gibt sie jedoch nicht zurück, sondern löscht sie und ersetzt sie sie mit anderen Werten.
Wenn der vierte Parameter angegeben wird, werden die zuvor ausgewählten Elemente durch das durch den vierten Parameter angegebene Array ersetzt.
Das zuletzt generierte Array wird zurückgegeben.
Syntax
array_splice(array,offset,length,array)
Parameterbeschreibung
Array Erforderlich. Gibt ein Array an.
Offset Erforderlich. Zahlenwert. Wenn der Offset positiv ist, beginnt die Entfernung an dem Offset, der durch diesen Wert im Eingabearray angegeben wird. Wenn der Offset negativ ist, beginnt die Entfernung an dem durch diesen Wert angegebenen Offset vom Ende des Eingabearrays.
Länge optional. Zahlenwert. Wenn dieser Parameter weggelassen wird, werden alle Teile des Arrays vom Offset bis zum Ende entfernt. Wenn die Länge angegeben ist und positiv ist, werden so viele Elemente entfernt. Wenn die Länge angegeben wird und negativ ist, werden alle Elemente vom Offset bis zur Länge, gezählt vom Ende des Arrays, entfernt.
array Die entfernten Elemente werden durch Elemente in diesem Array ersetzt. Wenn keine Werte entfernt werden, wird das Element in diesem Array an der angegebenen Position eingefügt.
Tipps und Hinweise
Tipp: Wenn die Funktion keine Elemente entfernt (Länge=0), wird das Ersatzarray ab der Position des Startparameters eingefügt.
Hinweis: Schlüssel im Substitutionsarray werden nicht beibehalten.
Beispiel
<?php $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,0,2,$a2); print_r($a1); //输出: Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird ) ?> //与例子 1 相同,但是输出返回的数组: <?php $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); print_r(array_splice($a1,0,2,$a2)); ?> //输出: Array ( [0] => Dog [1] => Cat ) //length 参数设置为 0: <?php $a1=array(0=>"Dog",1=>"Cat"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,1,0,$a2); print_r($a1); ?> //输出: Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )
Weitere Programmierkenntnisse finden Sie unter: Programmiervideo! !
Das obige ist der detaillierte Inhalt vonSo löschen Sie Array-Elemente basierend auf dem Schlüssel in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!