0Pricing
PHP Academy · 강의

배열 변환 함수

array_map, array_filter 및 array_reduce를 적용합니다.

배열 변환 함수은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 PHP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

함수형 배열 변환

PHP는 명시적인 반복문 없이 배열을 변환할 수 있는 강력한 고차 함수를 세 가지 제공합니다:

  • array_map() — 각 요소 변환
  • array_filter() — 검사에 통과한 요소 유지
  • array_reduce() — 하나의 값으로 축약

array_map()

모든 요소에 콜백을 적용하고 새 배열을 반환합니다:

<?php
$prices = [10, 20, 30, 40];

$doubled = array_map(fn($p) => $p * 2, $prices);
print_r($doubled); // [20, 40, 60, 80]

// Multiple arrays
$a = [1, 2, 3];
$b = [10, 20, 30];
$sums = array_map(fn($x, $y) => $x + $y, $a, $b);
print_r($sums); // [11, 22, 33]

array_filter()

콜백 조건을 충족하는 요소를 유지합니다. 콜백이 없으면 거짓으로 취급되는 값을 제거합니다:

<?php
$numbers = [1, 2, 3, 4, 5, 6];

$evens = array_filter($numbers, fn($n) => $n % 2 === 0);
print_r($evens); // [1=>2, 3=>4, 5=>6] — keys preserved!

$reindexed = array_values($evens); // re-index

$mixed = [0, 'hello', '', null, false, 42];
print_r(array_filter($mixed)); // [1=>'hello', 5=>42]

array_reduce()

콜백을 누적해서 적용하여 배열을 하나의 값으로 축약합니다:

<?php
$cart = [
    ['name' => 'Widget', 'price' => 10],
    ['name' => 'Gadget', 'price' => 25],
    ['name' => 'Doohickey', 'price' => 5],
];

$total = array_reduce($cart, fn($carry, $item) => $carry + $item['price'], 0);
echo $total;  // 40

변환 연결

표현력 있는 데이터 파이프라인을 위해 map, filter, reduce를 연결합니다:
<?php
$scores = [45, 80, 30, 90, 55, 70];

$passingAvg = array_sum(
    array_filter($scores, fn($s) => $s >= 50)
) / count(array_filter($scores, fn($s) => $s >= 50));

echo $passingAvg;  // 74.75

키와 함께 사용하는 array_map

array_map은 키를 전달하지 않습니다. 키와 값이 모두 필요할 때는 array_walk를 사용합니다:

<?php
$prices = ['apple' => 1.0, 'banana' => 0.5, 'cherry' => 2.0];

$formatted = [];
array_walk($prices, function($price, $name) use (&$formatted) {
    $formatted[$name] = '$' . number_format($price, 2);
});

print_r($formatted);

array_chunk()

배열을 지정한 크기의 청크로 나눕니다:

<?php
$items = range(1, 10);
$batches = array_chunk($items, 3);
print_r($batches);
// [[1,2,3], [4,5,6], [7,8,9], [10]]

array_combine()

키 배열과 값 배열을 결합하여 연관 배열을 만듭니다:

<?php
$keys   = ['name', 'age', 'city'];
$values = ['Alice', 30, 'London'];

$person = array_combine($keys, $values);
print_r($person);
// ['name'=>'Alice','age'=>30,'city'=>'London']

array_zip과 array_map

PHP에는 기본 제공 zip 함수가 없지만 array_map(null, ...)을 사용하면 zip과 비슷한 구조를 만들 수 있습니다:

<?php
$names  = ['Alice', 'Bob'];
$scores = [90, 85];

$zipped = array_map(null, $names, $scores);
print_r($zipped);
// [['Alice', 90], ['Bob', 85]]

array_map의 키 보존

단일 배열에 사용하면 array_map은 키를 보존합니다. 다시 인덱싱하려면 array_values를 사용합니다:

<?php
$assoc = ['a' => 1, 'b' => 2, 'c' => 3];

$result = array_map(fn($v) => $v * 10, $assoc);
print_r($result);
// ['a'=>10, 'b'=>20, 'c'=>30] — keys preserved

array_sum과 array_product

숫자 배열을 빠르게 축약 계산할 때 사용하는 도우미 함수입니다:

<?php
$nums = [1, 2, 3, 4, 5];

echo array_sum($nums);      // 15
echo array_product($nums);  // 120 (1*2*3*4*5)

// Works with floats too
$prices = [1.5, 2.5, 3.0];
echo array_sum($prices);    // 7.0

빠른 확인

각 요소에 콜백을 적용하고 새 배열을 반환하는 함수는 무엇입니까?

복습: 배열 변환 함수

요약:

  • array_map() — 각 요소를 새 배열의 요소로 변환합니다
  • array_filter() — 조건식에 맞는 요소만 유지합니다
  • array_reduce() — 하나의 누적 값으로 접습니다
  • array_chunk() — 하위 배열로 나눕니다
  • array_combine() — 키와 값으로 연관 배열을 만듭니다
  • array_sum/product() — 숫자를 빠르게 축약 계산합니다

자주 묻는 질문

“배열 변환 함수” 강의는 무료인가요?

네 — “배열 변환 함수” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“배열 변환 함수”에서 뭘 배우나요?

array_map, array_filter 및 array_reduce를 적용합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

PHP Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“배열 변환 함수” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 인덱스 배열과 연관 배열
  2. 다차원 배열
  3. 배열 정렬과 검색
  4. 배열 변환 함수
← PHP Academy(으)로 돌아가기