현재 위치: > 최신 기사 목록> 배열의 동적 값 초기화를 구현하기 위해 Array_Fill () 및 Array_Walk ()의 ​​조합을 사용하는 방법은 무엇입니까?

배열의 동적 값 초기화를 구현하기 위해 Array_Fill () 및 Array_Walk ()의 ​​조합을 사용하는 방법은 무엇입니까?

M66 2025-06-05

PHP에서 배열은 매우 중요한 데이터 구조이며 종종 여러 값을 저장하고 조작하는 데 사용됩니다. 배열을 유연하게 초기화하기 위해 PHP는 많은 내장 함수를 제공하며, 그중에는 array_fill ()array_walk () 가 일반적으로 사용되는 두 가지 함수입니다. 이 두 기능을 결합하여 배열의 동적 값을 초기화하는 것이 매우 편리합니다.

1. array_fill () 함수 소개

Array_Fill () 함수는 배열을 채우는 데 사용됩니다. 세 가지 매개 변수를 수락합니다.

 array_fill(int $start_index, int $num, mixed $value): array
  • $ start_index : 배열이 채워지기 시작하는 위치 (인덱스).

  • $ num : 채우기 수는 채워질 요소의 수를 나타냅니다.

  • $ 값 : 패딩의 값.

Array_Fill ()은 새 배열을 생성하고 배열의 각 요소를 $ 값 으로 설정합니다.

예:

 $array = array_fill(0, 5, 'apple');
print_r($array);

산출:

 Array
(
    [0] => apple
    [1] => apple
    [2] => apple
    [3] => apple
    [4] => apple
)

2. array_walk () 함수 소개

Array_Walk () 함수는 배열의 각 요소를 반복하고 콜백 함수를 통해 각 요소를 처리합니다. 기본 구문은 다음과 같습니다.

 array_walk(array &$array, callable $callback, mixed $userdata = null): bool
  • $ 배열 : 보류중인 배열.

  • $ 콜백 : 콜백 함수, 각 요소를 처리합니다.

  • $ userData : 콜백 함수로 전달할 수있는 추가 데이터 (선택 사항).

예:

 $array = ['apple', 'banana', 'cherry'];
array_walk($array, function (&$item, $key) {
    $item = strtoupper($item); // 배열 요소를 대문자로 변환합니다
});
print_r($array);

산출:

 Array
(
    [0] => APPLE
    [1] => BANANA
    [2] => CHERRY
)

3. 동적 초기화를 위해 array_fill ()array_walk () 결합

Array_Fill ()Array_Walk ()를 조합하여 사용하면 배열을 초기화 할 때 동적 값을 할당 한 다음 처리 할 수 ​​있습니다. 예를 들어 여러 동적 데이터가 포함 된 배열을 초기화 한 다음 Array_walk ()를 사용하여 각 요소를 수정할 수 있습니다.

예 : Array_Fill ()Array_Walk ()를 사용하여 배열을 초기화하고 수정합니다.

10 개의 URL로 배열을 초기화하고 Array_Walk () 를 통해 각 URL을 수정한다고 가정합니다 (예 : 도메인 이름 M66.net 교체) :

 <?php
// 사용 array_fill 포함을 초기화하십시오 10 개별 URL 배열
$urls = array_fill(0, 10, 'http://example.com/page');

// 사용 array_walk 修改每개별 URL 도메인 이름
array_walk($urls, function (&$url) {
    // 도메인 이름을 대체하십시오 m66.net
    $url = preg_replace('/http:\/\/.*?\//', 'http://m66.net/', $url);
});

// 输出修改后배열
print_r($urls);
?>

산출:

 Array
(
    [0] => http://m66.net/page
    [1] => http://m66.net/page
    [2] => http://m66.net/page
    [3] => http://m66.net/page
    [4] => http://m66.net/page
    [5] => http://m66.net/page
    [6] => http://m66.net/page
    [7] => http://m66.net/page
    [8] => http://m66.net/page
    [9] => http://m66.net/page
)

이 예에서는 array_fill () 함수는 10 개의 동일한 URL을 포함하는 배열을 초기화합니다. 다음으로 Array_Walk () 함수를 사용하여 배열을 반복하고 각 URL의 도메인 이름을 m66.net 으로 수정합니다.

4. 요약

Array_Fill ()Array_Walk ()를 결합하면 배열을 유연하게 초기화하고 수정할 수 있습니다. Array_Fill ()은 동일한 값의 배열을 만들 수 있도록 도와주는 반면 Array_Walk ()는 배열을 가로 지르고보다 복잡한 작업을 수행 할 수있는 기능을 제공합니다. 이 두 가지의 조합은 동적 배열 초기화를 처리하는 데 적합합니다. 특히 배열의 각 요소에서 동적 계산 또는 수정을 수행해야 할 때.