Array_Map () 은 PHP에서 매우 강력한 기능으로 배열의 각 요소에 콜백 함수를 적용하고 결과를 반환합니다. Array_Map ()을 사용할 때는 일반적으로 배열을 인수로 전달한 다음 콜백 함수를 배열의 각 요소에 적용합니다. 그러나 Array_Map ()은 여러 배열을 매개 변수로 수신하는 것을 지원하므로 동시에 여러 배열의 요소에서 작동 할 수 있습니다.
이 기사는 실제 사례를 결합하여 Array_Map () 에서 여러 배열을 사용하는 방법을 보여주고 코드 예제를 제공합니다.
Array_Map () 함수의 기본 구문은 다음과 같습니다.
array_map(callable $callback, array $array1, array $array2, ..., array $arrayN)
호출 가능한 $ 콜백 : 콜백 함수는 배열의 각 요소에 작용합니다.
Array $ array1, array $ array2, ..., array $ arrayn : 다중 배열은 입력으로 사용되며 Array_map ()는 각 배열의 요소를 콜백 함수로 전달합니다.
Array_Map () 함수에 의해 반환 된 결과는 배열이며, 각 요소는 콜백 함수의 실행 결과입니다.
숫자 값이 포함 된 두 개의 배열이 있고 다른 하나는 숫자 값을 포함하고 있다고 가정합니다.이 두 배열의 해당 요소를 추가하려고합니다. Array_Map ()을 사용하여이를 달성 할 수 있습니다.
<?php
// 두 배열을 정의합니다
$array1 = [1, 2, 3, 4];
$array2 = [10, 20, 30, 40];
// 사용 array_map() 배열에 추가
$result = array_map(function($a, $b) {
return $a + $b;
}, $array1, $array2);
// 출력 결과
print_r($result);
?>
Array
(
[0] => 11
[1] => 22
[2] => 33
[3] => 44
)
이 예에서 Array_Map ()은 2 개의 배열 $ array1 및 $ array2를 수신 한 다음 익명 함수를 통해 해당 요소의 각 쌍을 추가합니다. 마지막으로 $ 결과 배열에는 각 요소 쌍을 추가 한 결과가 포함됩니다.
또 다른 일반적인 요구 사항은 출력을 포맷하기 위해 두 배열의 요소를 결합해야한다는 것입니다. 예를 들어, 하나의 배열은 문자열과 다른 저장 번호를 저장하여 형식으로 구성된 문자열로 결합하려고합니다.
다음 두 배열이 있다고 가정합니다.
<?php
$names = ["Apple", "Banana", "Cherry", "Date"];
$prices = [2.5, 3.0, 2.8, 3.5];
// 사용 array_map() 두 배열의 요소를 형식의 문자열로 결합하십시오
$formatted = array_map(function($name, $price) {
return $name . " costs $" . number_format($price, 2);
}, $names, $prices);
// 출력 형식 결과
print_r($formatted);
?>
Array
(
[0] => Apple costs $2.50
[1] => Banana costs $3.00
[2] => Cherry costs $2.80
[3] => Date costs $3.50
)
이 예에서는 각 과일의 이름과 해당 가격을 형식의 문자열로 결합하고 숫자 _format ()를 사용하여 가격에 소수점 두 자리가 있는지 확인합니다. Array_Map () 은이 작업을 매우 쉽게 만듭니다.
더 많은 배열이 있고 더 복잡한 작업을 수행하려는 경우 Array_Map ()은 여전히 이상적인 선택입니다. 여러 배열의 요소를 기반으로 새 값을 계산해야한다고 가정하고 필요에 따라 여러 배열을 입력으로 유연하게 사용할 수 있습니다.
예를 들어, 품목의 이름, 가격 및 할인율에 따라 각 항목에 대한 할인 된 가격을 계산해야한다고 가정하면 다음을 수행 할 수 있습니다.
<?php
$products = ["Apple", "Banana", "Cherry", "Date"];
$prices = [2.5, 3.0, 2.8, 3.5];
$discounts = [0.1, 0.2, 0.15, 0.05];
// 사용 array_map() 할인 된 가격을 계산하십시오
$discounted_prices = array_map(function($product, $price, $discount) {
$discounted_price = $price * (1 - $discount);
return $product . " now costs $" . number_format($discounted_price, 2);
}, $products, $prices, $discounts);
// 출력 할인 후 가격
print_r($discounted_prices);
?>
Array
(
[0] => Apple now costs $2.25
[1] => Banana now costs $2.40
[2] => Cherry now costs $2.38
[3] => Date now costs $3.33
)
이 예제는 3 개의 배열 ( $ 제품 , $ 가격 , $ 할인 )을 사용하여 동시에 계산하는 방법을 보여주고 형식화 된 출력을 생성합니다.
Array_Map () 함수는 여러 배열을 처리하기위한 강력한 도구로 여러 배열의 요소에서 매우 간결한 방식으로 작동 할 수 있습니다. 간단한 수학적 계산이든 복잡한 문자열 작업이든 Array_Map () 은 좋은 지원을 제공 할 수 있습니다. 여러 배열을 AS 매개 변수로 전달하면 콜백 함수에서 이러한 배열의 요소를 매우 편리하게 처리 할 수 있습니다.
관련 태그:
array_map