&$v){if($k===angegebenes Feld". Wert){$v=Wert ersetzen;}}"."/> &$v){if($k===angegebenes Feld". Wert){$v=Wert ersetzen;}}".">

Heim >Backend-Entwicklung >PHP-Problem >So durchlaufen und ersetzen Sie den Wert eines bestimmten Felds (Schlüsselname) in einem PHP-Array

So durchlaufen und ersetzen Sie den Wert eines bestimmten Felds (Schlüsselname) in einem PHP-Array

青灯夜游
青灯夜游Original
2022-08-22 19:04:242710Durchsuche

Traversal-Ersetzungsschritte: 1. Verwenden Sie die foreach-Anweisung, um das Array zu durchlaufen, indem Sie auf die Schleife verweisen. Die Syntax lautet „foreach($arr as $k=>&$v){//Loop Body Statement Block;}“; 2. Verwenden Sie in der Schleife im Hauptteil den Operator „===", um das Element des angegebenen Felds zu finden und den Wert neu zuzuweisen, die Syntax „foreach($arr as $k=>&$v){if( $k===angegebener Feldwert){ $v=Ersatzwert;}}".

So durchlaufen und ersetzen Sie den Wert eines bestimmten Felds (Schlüsselname) in einem PHP-Array

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

Im PHP-Array können Sie die foreach-Anweisung verwenden, um den Wert eines bestimmten Felds (Schlüsselname) zu durchlaufen und zu ersetzen ).

Implementierungsschritte:

Schritt 1: Verwenden Sie die foreach-Anweisung, um das Array durch eine Referenzschleife zu durchlaufen.

foreach ($array as $key => &$value){
    //循环体语句块;
}

Durchlaufen Sie das angegebene $array-Array und weisen Sie in jeder Schleife den Wert des aktuellen Arrays $value zu , der Schlüsselname wird $key zugewiesen.

Wenn Sie die foreach-Anweisung zum Durchlaufen eines Arrays verwenden, wirkt sie sich im Allgemeinen auf die Sicherung des Arrays aus und hat im Allgemeinen keine Auswirkungen auf das Array selbst.

Wenn Sie das Array über eine Schleife ändern möchten, können Sie eine Referenzschleife verwenden (in $value 之前加上 &, sodass die foreach-Anweisung einen Wert per Referenz zuweist, anstatt einen Wert zu kopieren), und dann das Array innerhalb des Schleifenkörpers bearbeiten wirkt sich auf das Array selbst aus.

Schritt 2: Verwenden Sie im Schleifenkörper den Operator „===", um das angegebene Feld zu finden und den Wert neu zuzuweisen

if($key===指定字段){
$value=新值;
}

Vollständiger Beispielcode:

<?php
header('content-type:text/html;charset=utf-8');   
function f($arr,$s,$r){
foreach($arr as $k=>&$v){
	if($k===$s){
		$v=$r;
	}
}
	echo "字段 $s 的值替换为 $r";
	var_dump($arr);
}
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
echo "原数组:";
var_dump($arr);
f($arr,"a","aaa");
f($arr,"b","bbb");
f($arr,"c","ccc");
?>

So durchlaufen und ersetzen Sie den Wert eines bestimmten Felds (Schlüsselname) in einem PHP-Array

Wie Sie sehen können, Im letzten Vor dem Element steht ein &, da die $value-Referenz des letzten Elements des Arrays nach der foreach-Schleife weiterhin erhalten bleibt. Wir müssen unset() verwenden, um es zu zerstören.

unset($v); // 最后取消掉引用

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo durchlaufen und ersetzen Sie den Wert eines bestimmten Felds (Schlüsselname) in einem PHP-Array. 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