PHP는 배우기 쉽고 유연하며 효율적이며 오픈 소스로 널리 사용되는 프로그래밍 언어입니다. 따라서 많은 기업과 개발자가 선택하는 언어가 되었습니다. PHP에서 2차원 배열은 대량의 데이터를 저장하고 빠른 데이터 쿼리 및 탐색을 수행할 수 있는 가장 일반적인 데이터 구조 중 하나입니다. 이 기사에서는 PHP의 2차원 배열에서 k 값을 바꾸는 방법에 중점을 둘 것입니다.
2차원 배열
PHP에서 배열은 매우 중요한 데이터 유형입니다. 배열은 하나의 변수 이름 아래에 여러 값을 저장할 수 있으며, 이러한 값은 문자열, 정수, 객체 등과 같은 다양한 데이터 유형일 수 있습니다.
PHP의 배열은 1차원 배열과 다차원 배열로 구분됩니다. 그 중 다차원 배열은 2차원 배열, 3차원 배열, 4차원 배열 등으로 구분됩니다. 2차원 배열은 1차원 배열이 여러 개 포함된 배열을 말합니다.
2차원 배열을 정의하는 샘플 코드는 다음과 같습니다.
$students = array( array("name"=>"张三", "age"=>18, "score"=>85), array("name"=>"李四", "age"=>19, "score"=>90), array("name"=>"王五", "age"=>20, "score"=>75) );
위 코드는 3개의 1차원 배열을 포함하는 $students라는 2차원 배열을 정의합니다. 각 1차원 배열에는 학생의 이름, 나이, 학년을 나타내는 세 가지 요소가 포함되어 있습니다.
2차원 배열에서 k 값 바꾸기
때때로 2차원 배열에서 일부 k 값을 바꿔야 할 때가 있습니다. 이 목표를 달성하기 위해 PHP에서 제공하는 array_map 함수와 array_column 함수를 사용할 수 있습니다. 구체적인 단계는 다음과 같습니다.
첫 번째 단계는 array_column 함수를 사용하여 원래 배열의 특정 열을 얻고 새로운 1차원 배열을 생성하는 것입니다. 이 열에 해당하는 k 값은 우리가 대체하려는 k 값입니다.
샘플 코드는 다음과 같습니다.
$key_array = array_column($students, 'name');
$students 배열에 있는 각 1차원 배열의 name 키 값을 추출하여 새로운 1차원 배열 $key_array를 구성하는 코드입니다.
두 번째 단계는 array_map 함수를 사용하여 새로운 1차원 배열을 순회하고 콜백 함수를 통해 각 요소의 값을 바꾸는 것입니다. 콜백 함수에서는 각 요소의 값을 새로운 k 값으로 사용하고, 원래 2차원 배열에서 이 k 값에 해당하는 1차원 배열을 찾아 해당 k 값을 새로운 k 값으로 바꿉니다.
샘플 코드는 다음과 같습니다.
$new_key_array = array_map(function($val) use ($students) { foreach($students as &$student) { if($student['name'] == $val) { $student['new_name'] = $student['name']; unset($student['name']); return $student; } } }, $key_array);
이 코드는 $key_array 배열을 순회합니다. 각 요소 $val에 대해 foreach 루프를 통해 원래 배열 $students를 순회하고, $val에 해당하는 1차원 배열을 찾습니다. 원래 배열을 추가하고 해당 이름 키 값을 새 키 값 new_name으로 대체합니다. 마지막으로 1차원 배열에서 원래 이름 키를 삭제하고 수정된 1차원 배열을 반환합니다.
세 번째 단계는 새 어레이를 확인하여 교체 작업이 적용되는지 확인하는 것입니다.
최종 코드는 다음과 같습니다.
$students = array( array("name"=>"张三", "age"=>18, "score"=>85), array("name"=>"李四", "age"=>19, "score"=>90), array("name"=>"王五", "age"=>20, "score"=>75) ); $key_array = array_column($students, 'name'); $new_key_array = array_map(function($val) use ($students) { foreach($students as &$student) { if($student['name'] == $val) { $student['new_name'] = $student['name']; unset($student['name']); return $student; } } }, $key_array); print_r($students);
위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.
Array ( [0] => Array ( [age] => 18 [score] => 85 [new_name] => 张三 ) [1] => Array ( [age] => 19 [score] => 90 [new_name] => 李四 ) [2] => Array ( [age] => 20 [score] => 75 [new_name] => 王五 ) )
출력에서 볼 수 있듯이 원래 이름 키를 새 키 new_name으로 성공적으로 대체했습니다.
요약
PHP에서는 2차원 배열의 k 값을 바꾸는 작업이 비교적 일반적인 작업입니다. array_map 함수와 array_column 함수를 사용하면 이 작업을 쉽게 구현할 수 있습니다. 실제 개발에서는 개발 효율성과 코드 품질을 향상시키기 위해 특정 상황에 따라 이 작업을 구현하는 가장 적절한 방법을 선택해야 합니다.
위 내용은 PHP의 2D 배열에서 k 값을 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!