>  기사  >  백엔드 개발  >  PHP 함수 라이브러리의 array_map() 함수 사용법에 대한 자세한 설명

PHP 함수 라이브러리의 array_map() 함수 사용법에 대한 자세한 설명

WBOY
WBOY원래의
2023-06-27 10:03:104760검색

PHP 개발에서 배열은 자주 사용되는 데이터 유형 중 하나입니다. 배열의 연산 기능도 상당히 풍부합니다. 그 중 array_map() 함수는 배열의 각 요소에 함수를 적용하여 새로운 배열을 반환할 수 있는 매우 실용적인 배열 연산 함수입니다.

이 글에서는 array_map() 함수의 사용법과 주의사항을 주로 소개하고, 예제를 통해 설명하겠습니다.

1. array_map() 함수 소개

array_map() array_map() 함수의 함수는 들어오는 배열의 각 요소에 첫 번째 매개 변수(PHP 함수)를 적용하고 각 요소의 처리 결과를 함수는 다음과 같습니다. 새 배열의 요소가 반환됩니다. 예를 들어, array_map() 함수를 사용하여 배열 값을 곱하거나 배열 값을 어느 정도 수정하거나 얻은 결과를 변환할 수 있습니다.

array_map() 함수의 기본 구문은 다음과 같습니다.

array array_map ( callable $callback , array $array1 [, array $...] )

그 중 $callback 매개변수는 각 요소마다 콜백 메서드를 만든다는 것을 나타내며, $array1 매개변수는 처리할 배열을 나타냅니다. 콜백 메소드가 함수에 전달된 매개변수 수에 해당하는 여러 매개변수를 전달할 수 있도록 여러 배열을 사용할 수 있습니다. 콜백 메서드를 null로 설정할 수도 있습니다. 그러면 array_map() 함수가 전달된 배열의 각 요소를 새 배열로 직접 반환합니다. $callback 参数表示要对每个元素做一个回调方法,$array1 参数表示要进行处理的数组。可以使用多个数组,这样可以使回调方法传入多个参数,对应传入函数的参数数量。也可以将回调方法设为 null,这样 array_map() 函数会直接将每个传入数组的元素组成一个新的数组返回。

二、array_map() 函数示例演示

接下来,我们通过一些示例来演示 array_map() 函数的使用方法。

  1. 将一个数组中的所有元素翻倍
<?php
function double($value){
    return $value*2;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("double", $a);
print_r($b);
?>

输出结果:

Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )

在上面的代码中,我们定义了回调函数 double(),该函数的作用是将传入值翻倍。接着,我们创建了一个数组 $a,数组中包含了数字 1 到 5。然后,我们通过调用 array_map() 函数并传入数组 $a 和回调函数“double”获得了一个新的数组 $b,其中每个元素都是原数组中元素的两倍。

  1. 将两个数组的元素合并成一个数组
<?php
function combine($a, $b){
    return $a . $b;
}
$a = array("a", "b", "c", "d");
$b = array("1", "2", "3", "4");
$combine = array_map("combine", $a, $b);
print_r($combine);
?>

输出结果:

Array ( [0] => a1 [1] => b2 [2] => c3 [3] => d4 )

在本例中,我们定义了回调函数 combine(),该函数的作用是将两个传入值合并成为一个新的字符串。接着,我们创建了两个数组 $a$b,这两个数组以相同的键名存储了不同的值。然后,我们通过调用 array_map() 函数并传入两个数组 $a$b 以及回调函数“combine”创建了一个新的数组 $combine

  1. 去掉数组中的空元素
<?php
function removeEmpty($value){
    return trim($value);
}
$array= array("hello", " ", "world", "", "!");
$no_empty = array_filter(array_map("removeEmpty", $array));
var_dump($no_empty); 
?>

输出结果:

array(3) { [0]=> string(5) "hello" [2]=> string(5) "world" [4]=> string(1) "!" }

在上面的代码中,我们定义了回调函数 removeEmpty(),该函数的作用是去掉字符串的空格。接着,我们创建了一个包含一些空元素的数组 $array。使用 array_map("removeEmpty", $array) 函数,我们可以做一个回调函数removeEmpty(),将数组中的每个元素传入回调函数中处理。最后使用 array_filter() 函数可以将空元素过滤掉。得到了 $no_empty

2. Array_map() 함수 예제 데모

다음으로 몇 가지 예제를 사용하여 array_map() 함수의 사용법을 보여줍니다.

    배열의 모든 요소를 ​​두 배로 늘립니다
  1. rrreee
  2. 출력 결과:
  3. rrreee
  4. 위 코드에서는 들어오는 값을 두 배로 늘리는 콜백 함수 double()을 정의합니다. 다음으로 1부터 5까지의 숫자를 포함하는 $a 배열을 만듭니다. 그런 다음 array_map() 함수를 호출하고 $a 배열과 콜백 함수 "double"을 전달하여 새 배열 $b를 얻습니다. 여기서 각 요소는 두 배입니다. 원래 배열의 요소 수입니다.
    1. 두 배열의 요소를 하나의 배열로 결합
    2. rrreee
    3. 출력 결과:
    rrreee

    이 예에서는 콜백 함수인 Combine()을 정의합니다. 이는 들어오는 두 배열을 결합하는 데 사용됩니다. 값은 새로운 문자열로 결합됩니다. 다음으로 동일한 키 이름을 가진 서로 다른 값을 저장하는 두 개의 배열 $a$b를 만듭니다. 그런 다음 array_map() 함수를 호출하고 두 배열 $a$b와 콜백 함수 "combine"을 전달하여 새 배열 $를 만듭니다. .

      배열에서 빈 요소 제거

      🎜rrreee🎜출력 결과: 🎜rrreee🎜위 코드에서는 Space 문자열을 제거하는 데 사용되는 콜백 함수 RemoveEmpty()를 정의했습니다. 다음으로, 빈 요소가 포함된 $array 배열을 만듭니다. array_map("removeEmpty", $array) 함수를 사용하면 콜백 함수 removeEmpty()를 만들고 처리를 위해 배열의 각 요소를 콜백 함수에 전달할 수 있습니다. 마지막으로 array_filter() 함수를 사용하여 빈 요소를 필터링합니다. $no_empty 배열이 얻어지며, 여기에는 빈 요소를 제거한 후 원래 배열의 모든 요소가 포함됩니다. 🎜🎜3. array_map() 함수에 대한 참고 사항🎜🎜array_map() 함수를 올바르게 사용하려면 다음 사항에 유의해야 합니다. 🎜🎜🎜콜백 함수에 전달되는 값은 각 항목의 CURRENT(현재) 요소입니다. 배열, 호출 루프 내에서 값 변경이 발생합니다. 배열이 아닌 것이 array_map() 함수에 전달되면 값은 콜백 함수에 개별적으로 전달됩니다. 🎜🎜사용자는 콜백 기능을 맞춤 설정할 수 있습니다. PHP 내장 함수나 사용자 정의 함수를 사용할 수 있습니다. 🎜🎜array_map() 함수에 익명 함수를 전달해야 하는 경우 PHP 5.3 이상을 사용해야 합니다. 🎜🎜array_map() 함수는 배열의 시작 인덱스 값에 민감합니다. 예를 들어, 두 개의 배열이 서로 다른 키 이름으로 전달되면 더 작은 키 이름이 반환된 배열을 구성하는 데 사용됩니다. 🎜🎜콜백 함수에서 매개변수 배열의 키와 값을 모두 사용할 경우 array_map() 함수를 사용하지 말고 foreach 루프를 사용하여 작동하세요. 🎜🎜🎜4. 요약🎜🎜 이번 글에서는 array_map() 함수의 정의와 사용법, 주의사항을 자세히 소개했습니다. array_map() 함수는 배열의 각 요소에 함수를 적용하고, 함수에 의해 처리된 각 요소의 결과를 새로운 배열로 반환할 수 있는 매우 실용적인 배열 처리 함수입니다. 합리적인 적용을 통해 array_map() 함수는 PHP 배열 작업 프로세스를 크게 단순화하여 프로그래머가 배열을 보다 편리하고 효율적으로 처리할 수 있도록 합니다. 🎜

위 내용은 PHP 함수 라이브러리의 array_map() 함수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.