&$v){//loop body 문 블록;}" 구문을 사용하여 foreach 문을 사용하여 루프를 참조하여 배열을 순회합니다. 루프 본문, "===" 연산자를 사용하여 지정된 필드의 요소를 찾고 값을 다시 할당합니다. 구문 "foreach($arr as $k=>&$v){if($k===specified field 값){$v=값 바꾸기;}}"."/> &$v){//loop body 문 블록;}" 구문을 사용하여 foreach 문을 사용하여 루프를 참조하여 배열을 순회합니다. 루프 본문, "===" 연산자를 사용하여 지정된 필드의 요소를 찾고 값을 다시 할당합니다. 구문 "foreach($arr as $k=>&$v){if($k===specified field 값){$v=값 바꾸기;}}".">

>백엔드 개발 >PHP 문제 >PHP 배열에서 특정 필드(키 이름)의 값을 탐색하고 바꾸는 방법

PHP 배열에서 특정 필드(키 이름)의 값을 탐색하고 바꾸는 방법

青灯夜游
青灯夜游원래의
2022-08-22 19:04:242710검색

순회 대체 단계: 1. foreach 문을 사용하여 루프를 참조하여 배열을 순회합니다. 구문은 "foreach($arr as $k=>&$v){//Loop body 문 블록;}"입니다. 2. 루프 본문에서 "===" 연산자를 사용하여 지정된 필드의 요소를 찾고 값을 다시 할당합니다. 구문 "foreach($arr as $k=>&$v){if( $k===지정된 필드 값){ $v=대체 값;}}".

PHP 배열에서 특정 필드(키 이름)의 값을 탐색하고 바꾸는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

php 배열에서 foreach 문을 사용하여 특정 필드(키 이름)의 값을 탐색하고 바꿀 수 있습니다. ).

구현 단계:

1단계: foreach 문을 사용하여 참조 루프를 통해 배열을 순회합니다.

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

주어진 $array 배열을 순회하고 현재 배열의 값을 각 루프의 $value에 할당합니다. , 키 이름은 $key에 할당됩니다.

일반적으로 foreach 문을 사용하여 배열을 순회하는 경우 배열 백업에서 작동하며 일반적으로 배열 자체에는 영향을 미치지 않습니다.

루프를 통해 배열을 변경하려면 참조 루프($value 之前加上 &에서 foreach 문이 값을 복사하는 대신 참조로 값을 할당하도록 함)를 사용한 다음 루프 본문 내의 배열에 대해 작업을 수행할 수 있습니다. 배열 자체에 영향을 미칩니다.

2단계: 루프 본문에서 "===" 연산자를 사용하여 지정된 필드를 찾고 값을 다시 할당합니다.

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

전체 샘플 코드:

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

PHP 배열에서 특정 필드(키 이름)의 값을 탐색하고 바꾸는 방법

보시다시피, 마지막 요소 앞에 &가 있습니다. 이는 배열의 마지막 요소에 대한 $value 참조가 foreach 루프 후에도 계속 유지되기 때문입니다. 이를 파괴하려면 unset()을 사용해야 합니다.

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

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 배열에서 특정 필드(키 이름)의 값을 탐색하고 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.