Der folgende Editor stellt Ihnen eine Implementierungsmethode zum Löschen bestimmter Elemente in einem Array basierend auf dem Schlüssel vor. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.
Die Elemente im PHP-Array liegen in Form von Schlüssel-Wert-Paaren vor ('key'=>'value'). Manchmal müssen wir die angegebenen Elemente löschen im Array basierend auf dem Schlüssel.
function bykey_reitem($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, 'name'); var_dump($result);
Anweisungen zur Verwendung von Funktionen:
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
value 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
Beispiel 1
<?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 Folge von Elementen in einem Array aus. Anstatt sie jedoch zurückzugeben, werden sie gelöscht und durch andere Werte ersetzt. Wenn das vierte Argument angegeben wird, werden die zuvor ausgewählten Elemente durch das durch das vierte Argument angegebene Array ersetzt. Das endgültig 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 aus übernommen die Position der Startparametereinfügung. (Siehe Beispiel 3) 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 )