Menu
Coddy logo textTech

사용자 정의 함수와 'array_map'

Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 40번째.

strtoupper와 같은 내장 함수가 array_map()과 잘 작동하지만, 진정한 강력함은 직접 만든 사용자 정의 함수를 사용하는 데서 나옵니다. 이를 통해 자신의 요구 사항에 딱 맞는 특정 변환을 생성할 수 있습니다.

array_map()과 함께 사용자 정의 함수를 사용하려면, 첫 번째 매개변수로 함수 이름을 문자열로 전달하기만 하면 됩니다. 사용자 정의 함수는 하나의 매개변수(현재 배열 요소)를 받아야 하며 변환된 값을 반환해야 합니다.

<?php
function doubleNumber($num) {
    return $num * 2;
}

$numbers = [1, 2, 3, 4, 5];
$doubled = array_map("doubleNumber", $numbers);
// 결과: [2, 4, 6, 8, 10]
?>

이 접근 방식은 각 요소가 처리되는 방식에 대해 완전한 제어권을 제공합니다. 사용자 정의 함수 내에서 복잡한 계산, 문자열 조작 또는 기타 로직을 수행할 수 있으므로, array_map()은 데이터 변환 작업에 매우 다재다능합니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

challenge icon

챌린지

쉬움

두 개의 입력을 받게 됩니다: 쉼표로 구분된 섭씨 온도 목록과 변환할 대상 단위(화씨를 나타내는 F 또는 켈빈을 나타내는 K)입니다. 첫 번째 입력은 0,10,20,30,100과 같은 형식의 문자열로 된 온도들이며, 두 번째 입력은 변환 유형을 나타내는 단일 문자입니다.

두 입력을 모두 읽고, 쉼표로 구분된 온도들을 숫자 배열로 변환한 뒤, 섭씨 온도를 대상 단위로 변환하는 사용자 정의 함수를 만드세요. 해당 사용자 정의 함수와 함께 array_map()을 사용하여 모든 온도를 변환하고, 변환된 각 온도를 소수점 둘째 자리까지 반올림하여 별도의 줄에 출력하세요.

변환 공식:

  • 섭씨에서 화씨로: (C × 9/5) + 32
  • 섭씨에서 켈빈으로: C + 273.15

입력 형식:

  • 첫 번째 줄: 쉼표로 구분된 섭씨 온도 (예: 0,10,20,30,100)
  • 두 번째 줄: 대상 변환 단위 - F 또는 K (예: F)

예상 출력: 변환된 각 온도를 소수점 둘째 자리까지 반올림하여 별도의 줄에 출력

치트 시트

함수 이름을 문자열로 전달하여 array_map()과 함께 사용자 정의 함수를 사용할 수 있습니다. 사용자 정의 함수는 하나의 매개변수(현재 배열 요소)를 받아야 하며 변환된 값을 반환해야 합니다.

<?php
function doubleNumber($num) {
    return $num * 2;
}

$numbers = [1, 2, 3, 4, 5];
$doubled = array_map("doubleNumber", $numbers);
// 결과: [2, 4, 6, 8, 10]
?>

이 방식은 요소 처리에 대한 완전한 제어를 제공하여, 함수 내에서 복잡한 계산, 문자열 조작 또는 모든 사용자 정의 로직을 가능하게 합니다.

직접 해보기

<?php
// 쉼표로 구분된 온도를 읽습니다
$temperatures = fgets(STDIN);

// 대상 단위(F 또는 K)를 읽습니다
$unit = trim(fgets(STDIN));

// 쉼표로 구분된 문자열을 숫자 배열로 변환합니다
$tempArray = explode(',', trim($temperatures));

// TODO: 아래에 코드를 작성하세요
// 섭씨를 대상 단위로 변환하는 사용자 정의 함수를 만듭니다
// array_map()을 사용하여 모든 온도에 변환을 적용합니다
// 변환된 각 온도를 소수점 둘째 자리까지 반올림하여 별도의 줄에 출력합니다

?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨