PHP에서 배열은 매우 중요한 데이터 구조이며 종종 여러 값을 저장하고 조작하는 데 사용됩니다. 배열을 유연하게 초기화하기 위해 PHP는 많은 내장 함수를 제공하며, 그중에는 array_fill () 및 array_walk () 가 일반적으로 사용되는 두 가지 함수입니다. 이 두 기능을 결합하여 배열의 동적 값을 초기화하는 것이 매우 편리합니다.
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
)
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
)
Array_Fill () 및 Array_Walk ()를 조합하여 사용하면 배열을 초기화 할 때 동적 값을 할당 한 다음 처리 할 수 있습니다. 예를 들어 여러 동적 데이터가 포함 된 배열을 초기화 한 다음 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 으로 수정합니다.
Array_Fill () 및 Array_Walk ()를 결합하면 배열을 유연하게 초기화하고 수정할 수 있습니다. Array_Fill ()은 동일한 값의 배열을 만들 수 있도록 도와주는 반면 Array_Walk ()는 배열을 가로 지르고보다 복잡한 작업을 수행 할 수있는 기능을 제공합니다. 이 두 가지의 조합은 동적 배열 초기화를 처리하는 데 적합합니다. 특히 배열의 각 요소에서 동적 계산 또는 수정을 수행해야 할 때.