&$v){//loop body blok pernyataan;}"; badan gelung, Gunakan operator "===" untuk mencari elemen medan yang ditentukan dan tetapkan semula nilai, sintaks "foreach($arr as $k=>&$v){if($k===medan yang ditentukan nilai){$v=ganti nilai;}}"."/> &$v){//loop body blok pernyataan;}"; badan gelung, Gunakan operator "===" untuk mencari elemen medan yang ditentukan dan tetapkan semula nilai, sintaks "foreach($arr as $k=>&$v){if($k===medan yang ditentukan nilai){$v=ganti nilai;}}".">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melintasi dan menggantikan nilai medan tertentu (nama kunci) dalam tatasusunan php

Bagaimana untuk melintasi dan menggantikan nilai medan tertentu (nama kunci) dalam tatasusunan php

青灯夜游
青灯夜游asal
2022-08-22 19:04:242647semak imbas

Langkah penggantian traversal: 1. Gunakan pernyataan foreach untuk melintasi tatasusunan dengan merujuk gelung, sintaksnya ialah "foreach($arr as $k=>&$v){//Loop body block statement ;}"; 2. Dalam badan gelung, gunakan operator "===" untuk mencari elemen medan yang ditentukan dan menetapkan semula nilai. Sintaks "foreach($arr as $k=>&$v){ if($k===menentukan nilai Medan){$v=nilai gantian;}}".

Bagaimana untuk melintasi dan menggantikan nilai medan tertentu (nama kunci) dalam tatasusunan php

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 8.1, komputer DELL G3

Dalam tatasusunan php, anda boleh menggunakan pernyataan foreach kepada Traverse dan gantikan nilai medan tertentu (nama kunci).

Langkah pelaksanaan:

Langkah 1: Gunakan pernyataan foreach untuk melintasi tatasusunan melalui gelung rujukan

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

Traverse Memandangkan tatasusunan $array, dalam setiap gelung, nilai tatasusunan semasa akan diberikan kepada $value, dan nama kunci akan diberikan kepada $key.

Secara amnya, apabila menggunakan pernyataan foreach untuk melintasi tatasusunan, ia beroperasi pada sandaran tatasusunan dan secara amnya tidak menjejaskan tatasusunan itu sendiri.

Jika anda ingin menukar tatasusunan melalui gelung, anda boleh menggunakan gelung rujukan (tambah $value sebelum & supaya pernyataan foreach akan menetapkan nilai melalui rujukan dan bukannya menyalin nilai), kemudian lakukan operasi pada tatasusunan dalam badan gelung Operasi akan mempengaruhi tatasusunan itu sendiri.

Langkah 2: Dalam badan gelung, gunakan operator "===" untuk mencari medan yang ditentukan dan tetapkan semula nilai

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

Kod sampel lengkap:

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

Bagaimana untuk melintasi dan menggantikan nilai medan tertentu (nama kunci) dalam tatasusunan php

Seperti yang anda lihat, terdapat & sebelum elemen terakhir Itu kerana rujukan $value elemen terakhir tatasusunan Akan kekal selepas gelung foreach. Kita perlu menggunakan unset() untuk memusnahkannya.

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

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melintasi dan menggantikan nilai medan tertentu (nama kunci) dalam tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn