현재 위치: > 최신 기사 목록> array_fill ()을 사용하여 클로저 기능으로 데이터 구조를 채 웁니다

array_fill ()을 사용하여 클로저 기능으로 데이터 구조를 채 웁니다

M66 2025-06-05

PHP에서 array_fill () 함수는 지정된 값으로 채워진 배열을 만들 때 사용될 수 있지만 사용자 정의 데이터 구조 또는 복잡한 배열 유형을 채우는 방법은 무엇입니까? 오늘, 우리는이 목표를 달성하기 위해 array_fill () 과 PHP 클로저 기능을 결합하는 방법을 살펴볼 것입니다.

1. array_fill () 함수 소개

Array_Fill () 은 지정된 길이의 배열을 생성하고 각 요소의 값을 동일한 값으로 설정하는 데 사용할 수있는 내장 PHP 함수입니다. 기본 구문은 다음과 같습니다.

 array array_fill(int $start_index, int $num, mixed $value)
  • $ start_index : 배열 패딩의 시작 색인을 지정합니다.

  • $ num : 채울 요소의 수.

  • $ 값 : 각 요소의 값을 채우십시오.

예를 들어:

 $arr = array_fill(0, 5, 'Hello');
print_r($arr);

출력은 다음과 같습니다.

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

2. 클로저 기능을 사용하여 사용자 정의 데이터 구조를 채우십시오

보다 복잡한 데이터 구조를 채우려면 array_fill ()을 사용하는 것만으로는 충분하지 않습니다. PHP의 폐쇄 함수 (익명 함수)를 사용하여 충전 프로세스를 사용자 정의 할 수 있습니다. 클로저 기능을 통해 우리는 채울 때마다 더 복잡한 작업을 수행하고 각 요소에 대한 사용자 정의 데이터를 생성 할 수 있습니다.

다음은 Array_Fill ()을 사용하여 특정 수의 요소를 채우는 배열을 생성 한 다음 클로저 기능을 통해 각 요소의 내용을 사용자 정의 할 예입니다.

 <?php
// 사용자 정의 데이터 구조:각 요소는 이름과 나이를 포함하는 배열입니다
$size = 5;
$fillValue = function($index) {
    return [
        'name' => 'User' . ($index + 1),
        'age' => rand(18, 60)
    ];
};

$customArray = array_fill(0, $size, null); // 컨테이너를 만듭니다5개별null요소 배열
$customArray = array_map(function($index) use ($fillValue) {
    return $fillValue($index);
}, array_keys($customArray));

print_r($customArray);
?>

이 예에서는 먼저 Array_Fill ()을 사용하여 5 개의 요소가 포함 된 배열을 만듭니다. 그런 다음 각 요소를 Array_Map () 및 클로저 기능으로 채우고 각 요소에 이름과 나이가 포함 된 사용자 정의 데이터를 생성합니다.

3. 인구가있는 데이터 구조를 URL로 바꾸십시오

일부 URL 주소로 사용자 정의 구조를 채워야한다고 가정하고 이러한 URL의 도메인 이름을 M66.NET 로 바꿔야한다고 가정하십시오. 데이터 구조에 URL 주소가 포함되어 있다고 가정하면 이전 예제를 확장 할 수 있으며 모집단 프로세스에서 도메인 이름을 교체하려고합니다.

 <?php
// 사용자 정의 데이터 구조:每개별元素是一개별포함하다 URL 배열
$size = 5;
$fillValue = function($index) {
    // 우리가 생성했다고 가정합니다 URL 포함하다 "example.com" 도메인 이름으로
    $url = 'http://example.com/user/' . ($index + 1);
    
    // 할 것이다 URL 도메인 이름을 바꾸십시오 m66.net
    $url = preg_replace('/https?:\/\/[^\/]+/', 'http://m66.net', $url);
    
    return [
        'user_id' => $index + 1,
        'profile_url' => $url
    ];
};

$customArray = array_fill(0, $size, null); // 컨테이너를 만듭니다5개별null요소 배열
$customArray = array_map(function($index) use ($fillValue) {
    return $fillValue($index);
}, array_keys($customArray));

print_r($customArray);
?>

4. 코드를 설명하십시오

이 코드에서 채우기 기능은 URL을 포함하는 사용자 ID와 데이터 구조를 생성합니다. URL의 도메인 이름은 example.com 이며, 이는 preg_replace () 함수를 사용하여 m66.net 으로 바꿉니다. 이러한 방식으로, 생성 된 각 URL은 우리가 지정한 도메인 이름을 가져옵니다.

5. 요약

PHP의 Array_Fill () 과 Closure 기능을 결합하여 사용자 정의 데이터 구조를 쉽게 채우고 충전 프로세스 중에 URL에서 도메인 이름을 바꾸는 것과 같은 복잡한 작업을 수행 할 수 있습니다. 클로저 기능의 유연성을 통해 우리의 요구에 따라 충전 논리를 자유롭게 사용자 정의 할 수 있으므로 다양한 개발 시나리오의 요구를 충족시킬 수 있습니다.