PHP에서 배열은 여러 값을 저장하는 데이터 구조입니다. 때로는 데이터베이스 쿼리 후 결과 집합에 몇 가지 추가 정보를 추가하는 등 배열에 열을 추가해야 하는 경우도 있습니다. 이 기사에서는 PHP 배열에 열을 추가하는 다양한 방법을 소개합니다.
방법 1: 루프를 사용하여 새 열 할당
첫 번째 방법은 루프를 사용하여 배열을 순회하고 각 배열 요소에 열 값을 추가하는 것입니다. 예를 들어, 다음과 같은 배열이 있다고 가정해 보겠습니다.
$persons = array( array('name' => 'Tom', 'age' => 24), array('name' => 'John', 'age' => 28), array('name' => 'Sarah', 'age' => 23) );
이제 각 사람에 대한 "성별" 열을 추가하고 값은 이름에 따라 자동으로 결정됩니다. 다음 코드를 사용하여 이 문제를 해결할 수 있습니다.
foreach ($persons as &$person) { $name = $person['name']; if (substr($name, -1) == 'a') { $person['gender'] = 'Female'; } else { $person['gender'] = 'Male'; } }
위 코드에서는 foreach 루프를 사용하여 각 사람의 배열 요소를 반복했습니다. 루프에서는 각 사람의 배열 요소에 "성별" 열을 추가하고 여기에 값을 할당합니다.
$person 변수는 참조로 전달되므로 & 기호를 사용한다는 점에 유의하세요. 이렇게 하면 $person이 참조하는 요소가 루프에서 수정될 때 원래 배열의 요소도 수정됩니다.
방법 2: array_map 함수를 사용하여 열을 추가합니다.
두 번째 방법은 PHP에 내장된 array_map 함수를 사용하여 열을 추가하는 것입니다. array_map 함수는 배열의 각 요소에 함수를 적용하고 새 배열을 반환합니다. 예를 들어 다음 코드는 다음과 같습니다.
$persons = array( array('name' => 'Tom', 'age' => 24), array('name' => 'John', 'age' => 28), array('name' => 'Sarah', 'age' => 23) ); $gender_mapper = function($person) { $name = $person['name']; if (substr($name, -1) == 'a') { $person['gender'] = 'Female'; } else { $person['gender'] = 'Male'; } return $person; }; $new_persons = array_map($gender_mapper, $persons);
위 코드에서는 $gender_mapper라는 익명 함수를 정의하고 이 함수를 사용하여 array_map 함수를 호출합니다. $gender_mapper 함수는 $person 배열 매개변수를 받아들이고 각 사람에 대한 "성별" 열을 추가한 다음 마지막으로 증가된 $person 배열을 반환합니다.
array_map 함수는 원래 배열이 아닌 새 배열을 반환한다는 점에 유의하세요. 따라서 결과를 새 변수 $new_persons에 저장해야 합니다.
방법 3: array_walk 함수를 사용하여 열을 추가합니다.
세 번째 방법은 PHP에 내장된 array_walk 함수를 사용하여 열을 추가하는 것입니다. array_walk 함수는 배열의 각 요소를 순회하고 허용된 콜백 함수의 요소에 대해 작동하며 원래 배열에서 직접 수정할 수 있습니다.
$persons = array( array('name' => 'Tom', 'age' => 24), array('name' => 'John', 'age' => 28), array('name' => 'Sarah', 'age' => 23) ); function add_gender(&$person) { $name = $person['name']; if (substr($name, -1) == 'a') { $person['gender'] = 'Female'; } else { $person['gender'] = 'Male'; } } array_walk($persons, 'add_gender');
위 코드에서는 add_gender라는 함수를 정의하고 이 함수를 사용하여 array_walk 함수를 호출했습니다. add_gender 함수는 $person 배열 매개변수를 받아들이고 배열의 각 사람에 대한 "성별" 열을 추가합니다.
add_gender 함수의 $person 매개변수는 참조로 전달되며 이는 콜백 함수에서 $person 배열의 요소를 수정한다는 의미이기도 합니다.
요약
위에 소개된 내용은 PHP 배열에 열을 추가하는 세 가지 방법입니다. 첫 번째 방법은 루프를 사용하여 새 열을 할당하는 것이고, 두 번째 방법은 array_map 함수를 사용하는 것이며, 세 번째 방법은 array_walk 함수를 사용하는 것입니다. 특정 요구 사항과 코드 구현에 따라 이러한 방법 중 하나 이상을 선택할 수 있습니다.
위의 방법은 모두 연관 배열에 대한 것이라는 점에 유의해야 합니다. 일반 배열에 열을 추가하려면 [] 연산자를 사용하면 됩니다. 예:
$arr = array(1, 2, 3); $arr[] = 4; // 数组末尾增加一列
위 내용은 PHP 배열에 열 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!