Board_PHPp4rksk • Updated Dec 30, 2024
Board_PHP
p4rksk • Updated Dec 30, 2024
- 배열 요소를 직접 참조하여 수정하기
foreach
루프에 참조(&)를 사용하여 원본 배열을 직접 수정합니다.
php
코드 복사
public function select_board() {
$query = $this->db->query("SELECT id, title, author, write_date FROM board");
$result = $query->result_array();
// 일자까지만 나오게 날짜 포맷
foreach ($result as &$row) {
$row['write_date'] = date('Y-m-d', strtotime($row['write_date']));
}
unset($row); // 참조 해제
return $result;
}
array_map
함수란?
array_map
은 PHP의 내장 함수로, 배열의 각 요소를 콜백 함수로 처리한 결과를 새로운 배열로 반환합니다. 즉, 배열의 모든 요소에 대해 특정 작업을 수행하고, 그 결과를 모아 새 배열로 반환하는 데 사용됩니다.문법
array_map(callable $callback, array $array1, array ...$arrays): array
$callback
: 배열의 각 요소를 처리할 사용자 정의 함수(콜백 함수). 이 함수는 각 배열 요소를 입력받아 새로운 값을 반환합니다.
$array1
: 처리 대상 배열.
$arrays
: 여러 배열을 동시에 전달할 수도 있습니다. 이 경우, 각 배열의 동일한 인덱스 값들이 콜백 함수로 전달됩니다.
- 반환값: 콜백 함수 처리 결과로 구성된 새로운 배열.
예제
1. 배열 요소를 변환
배열의 각 요소를 제곱하는 예제:
$numbers = [1, 2, 3, 4, 5];
$squaredNumbers = array_map(function($number) {
return $number * $number;
}, $numbers);
print_r($squaredNumbers);
// 출력: [1, 4, 9, 16, 25]
2. 날짜 포맷 변경
배열의 날짜를 특정 형식으로 변경:
$dates = [
['id' => 1, 'write_date' => '2024-12-25 14:00:00'],
['id' => 2, 'write_date' => '2024-12-26 16:30:00']
];
$formattedDates = array_map(function($row) {
$row['write_date'] = date('Y-m-d', strtotime($row['write_date']));
return $row;
}, $dates);
print_r($formattedDates);
// 출력:
// [
// ['id' => 1, 'write_date' => '2024-12-25'],
// ['id' => 2, 'write_date' => '2024-12-26']
// ]
Share article