순회 대체 단계: 1. foreach 문을 사용하여 루프를 참조하여 배열을 순회합니다. 구문은 "foreach($arr as $k=>&$v){//Loop body 문 블록;}"입니다. 2. 루프 본문에서 "===" 연산자를 사용하여 지정된 필드의 요소를 찾고 값을 다시 할당합니다. 구문 "foreach($arr as $k=>&$v){if( $k===지정된 필드 값){ $v=대체 값;}}".
이 튜토리얼의 운영 환경: 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(&#39;content-type:text/html;charset=utf-8&#39;); 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"); ?>
보시다시피, 마지막 요소 앞에 &가 있습니다. 이는 배열의 마지막 요소에 대한 $value 참조가 foreach 루프 후에도 계속 유지되기 때문입니다. 이를 파괴하려면 unset()을 사용해야 합니다.
unset($v); // 最后取消掉引用
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP 배열에서 특정 필드(키 이름)의 값을 탐색하고 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!