현재 위치: > 최신 기사 목록> 배치 입력 값을 처리하기 위해 array_fill () 및 array_filter ()를 결합합니다

배치 입력 값을 처리하기 위해 array_fill () 및 array_filter ()를 결합합니다

M66 2025-06-05

매일 PHP 개발, 특히 양식 또는 배치 데이터 제출을 처리 할 때 많은 입력 값을 초기화하고 필터링 해야하는 경우가 종종 있습니다. 이 기사에서는 배치 입력 값의 초기화 및 유효성 필터링을 구현하기 위해 array_fill ()array_filter () 의 두 기능을 사용하는 방법을 소개합니다.

1. 기능 소개

  • array_fill (int $ start_index, int $ count, Mixed $ value) : 배열

    고정 구조 데이터 수집을 초기화하는 데 적합한 배열을 생성하고 지정된 값으로 채우는 데 사용됩니다.

  • Array_Filter (Array $ array,? callable $ callback = null, int $ mode = 0) : 배열

    배열에서 값을 필터링하는 데 사용됩니다. 기본적으로 배열의 False (예 : 0 , false , null , '' 등)에 해당하는 모든 요소는 제거되며 사용자 정의 콜백 함수를 통해보다 복잡한 필터링 로직을 구현할 수 있습니다.

2. 실제 시나리오 : 양식 배치 제출 데이터 처리

10 개의 항목으로 배치 양식 제출 작업을하고 있다고 가정 해 봅시다. 각 항목은 사용자가 입력 한 이름 필드입니다. 우리는 희망 :

  1. 이 항목을 기본 빈 문자로 초기화합니다.

  2. 필터링되지 않은 항목을 필터링하면 이름이 채워진 항목 만 다음 처리 또는 스토리지를 위해 유지됩니다.

샘플 코드 :

 <?php

// 제출 된 데이터가 다음과 같다고 가정하십시오(부분적으로 비어 있습니다)
$submittedData = [
    'Alice',
    '',
    'Bob',
    null,
    'Charlie',
    '',
    '  ',
    'David',
    false,
    'Eve'
];

// 첫 번째 단계:초기화 10 항목,기본값은 빈 문자열입니다(제출되지 않은 경우 데이터가 불완전하지 않도록합니다)
$inputCount = 10;
$defaultData = array_fill(0, $inputCount, '');

// 2 단계:将用户提交的数据合并到초기화数组中,인덱스 누락을 피하십시오
$mergedData = array_replace($defaultData, $submittedData);

// 3 단계:사용 array_filter 유효하지 않은 데이터를 필터합니다(빈 줄처럼、null、false、공간 등)
$validData = array_filter($mergedData, function ($value) {
    // 사용 trim 공간을 제거하십시오,그런 다음 비어 있는지 확인하십시오
    return trim($value) !== '';
});

// 4 단계:유효한 데이터를 처리합니다(저장된 경우、확인하다、산출)
foreach ($validData as $index => $name) {
    echo "1. " . ($index + 1) . " 항목 유효한 입력:{$name}\n";
}

출력 결과 :

 1. 1 항목 유효한 입력:Alice
1. 3 항목 유효한 입력:Bob
1. 5 항목 유효한 입력:Charlie
1. 8 항목 유효한 입력:David
1. 10 항목 유효한 입력:Eve

3. 실제 사용을 확장하십시오

이 조합은 다음과 같은 실제 응용 분야에서 매우 유용합니다.

  • 멀티 라인 게시판;

  • 대량 사용자 가져 오기;

  • 배치에서 매개 변수를 설정합니다 (예 : URL 어레이, API 요청 데이터 등).

  • 배치 필드는 사용자가 업로드 한 배치 필드 (예 : 배치를 업로드 할 때).

예를 들어 양식에서 URL 주소 세트를 가져 와서 비어 있고 유효하지 않은지 확인해야 할 수도 있습니다.

 $urls = [
    'https://m66.net/api/user',
    '',
    'https://m66.net/docs',
    null,
    '   '
];

$urls = array_filter($urls, function ($url) {
    return trim($url) !== '';
});

// 산출有效链接
print_r($urls);

4. 요약

Array_Fill ()을 사용하여 데이터 구조를 초기화하고 Array_Filter () 로 사용자 제출 데이터를 청소하면 PHP에서 배치 데이터의 처리 흐름을 크게 단순화 할 수 있습니다. 이 방법은 효율적이고 간결 할뿐만 아니라 코드의 견고성과 유지 가능성을 향상시킵니다. 모든 PHP 개발자가 마스터 해야하는 기술입니다.

양식, API 또는 데이터베이스에서 배치 데이터 입력을 종종 처리하는 경우이 두 기능을 사용하여 처리 로직을 최적화하십시오.