>  기사  >  백엔드 개발  >  PHP의 2D 배열에서 k 값을 바꾸는 방법

PHP의 2D 배열에서 k 값을 바꾸는 방법

PHPz
PHPz원래의
2023-04-19 10:06:53584검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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