구현 단계: 1. 2차원 배열의 내부 및 외부 레이어의 키 이름과 키 값을 탐색하기 위해 두 개의 foreach를 중첩합니다. 구문은 "foreach($arr as $k1=>$v2)입니다. {foreach($v1 as $k2=> ;$v2){//Loop body 문 블록}}"; 2. 루프 본문에서 "==="를 사용하여 지정된 필드 이름 요소를 찾고 unset( ) 해당 키 이름에 따라 요소를 삭제하려면 "if( $k==="Specified field name"){unset($arr[$k1][$k2]);}" 구문을 사용하세요.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP에서는 foreach 문과 unset() 함수를 사용하여 2차원 배열.
구현 단계:
1단계: 두 개의 foreach 문을 중첩하여 2차원 배열의 내부 및 외부 레이어의 키 이름과 키 값을 순회합니다.
foreach ($array as $key => $value){ foreach ($value as $k => $v){ //内层循环体语句块; } }
The 외부 레이어의 첫 번째 foreach 문: 주어진 항목을 탐색합니다. $array 배열의 외부 레이어는 각 루프에서 현재 배열의 값을 $value에 할당하고 키 이름을 $key에 할당합니다.
내부 레이어의 두 번째 foreach 문: $value 하위 배열을 순회하고 각 루프에서 현재 배열의 값을 $v에 할당하고 키 이름을 $k에 할당합니다.
2단계: 루프 본문에서 "==="를 사용하여 지정된 필드 이름 요소를 찾고, unset() 함수를 사용하여 해당 키 이름에 따라 요소를 삭제합니다.
if($k==="指定字段名"){ unset($arr[$key][$k]); }
구현 코드:
function f($arr,$s){ foreach ($arr as $key => $value){ foreach ($value as $k => $v){ if($k===$s){ unset($arr[$key][$k]); } } } echo "删除后的二维数组:"; var_dump($arr); }
Call f($arr)는 다음 함수를 처리하고 이름 필드 또는 점수 필드를 삭제합니다
$arr=array( array( 'name' => "小明", 'score' => 85, ), array( 'name' => "小华", 'score' => 92, ), array( 'name' => "霄晓", 'score' => 100, ), array( 'name' => "萧洁", 'score' => 99, ), array( 'name' => "赵峰", 'score' => 96, ) ); var_dump($arr); f($arr,"name");
f($arr,"score");
설명: foreach 문
foreach는 특별히 설계된 문입니다. 배열 탐색의 경우 일반적으로 사용되는 메서드는 배열 탐색에 큰 편의를 제공합니다. PHP5 이후에는 객체도 탐색할 수 있습니다(foreach는 배열과 객체에만 적용 가능).
foreach 문은 배열 첨자에 관계없이 배열을 순회하며 불연속 인덱스 배열 및 문자열을 첨자로 사용하는 연관 배열에 사용할 수 있습니다.
foreach 문에는 두 가지 구문 형식이 있습니다.
구문 형식 1:
foreach ($array as $value){ 语句块; }
주어진 $array 배열을 탐색하고 현재 배열의 값을 각 루프의 $value에 할당합니다.
구문 형식 2:
foreach ($array as $key => $value){ 语句块; }
주어진 $array 배열을 탐색하고 각 루프에서 현재 배열의 값이 $value에 할당되고 키 이름이 $key에 할당됩니다.
Foreach 문은 반복될 때마다 배열 내부의 포인터가 한 단계 앞으로 이동하므로 다음 루프에서 다음 배열 요소를 얻습니다. 배열의 끝이 탐색될 때까지 탐색이 중지되고 루프가 종료됩니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 2차원 배열의 필드 값을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!