현재 위치: > 최신 기사 목록> array_filter 및 array_fill_keys를 사용하여 청소 된 기본 배열을 만듭니다.

array_filter 및 array_fill_keys를 사용하여 청소 된 기본 배열을 만듭니다.

M66 2025-06-06

PHP에서 배열 작업은 매우 일반적인 작업입니다. 특히 사용자 입력 또는 외부 데이터를 처리 할 때는 일반적으로 배열을 청소하고 필터링해야합니다. 이 기사는 PHP에서 array_filterarray_fill_keys 함수를 사용하여 정리 된 기본 배열을 만드는 방법을 설명합니다.

1. array_filterarray_fill_keys 소개

  • ARRAY_FILTER 기능 :이 기능은 배열에서 요소를 필터링하고 주어진 콜백 함수에 따라 유지 또는 삭제 해야하는 요소를 결정할 수 있습니다. 콜백 함수가 true를 반환하면 요소가 유지됩니다. False가 있으면 요소가 제거됩니다.

  • Array_Fill_Keys 함수 :이 함수는 배열을 작성하고 키 이름을 지정하고 각 키 이름에 기본값을 할당하는 데 사용됩니다. 그 목적은 기본값이있는 배열을 신속하게 생성하는 것입니다. 특히 사전 정의 된 키 이름이 필요한 특정 시나리오를 처리하는 데 적합합니다.

이 두 기능을 결합함으로써 입력 데이터를 청소하는 동안 가능한 각 키에 대한 기본값을 제공하여 최종 배열이 완료되고 표준적인지 확인할 수 있습니다.

2. 샘플 시나리오

여러 키 값 쌍 (예 : 이름 , 이메일연령 )이 포함 된 사용자 제출 양식 데이터가 있다고 가정합니다. 이 데이터를 정리하고 유효하지 않거나 널 데이터를 제거하고 누락 된 키에 대한 기본값을 제공하려고합니다.

Array_Filter를 사용하여 NULL 또는 유효하지 않은 데이터를 필터링하고 Array_Fill_Keys가 누락 된 키의 기본값을 채우기 위해 Array_Fill_Keys를 필터링합니다.

3. 코드 구현

다음은 array_filterarray_fill_keys를 사용 하여이 프로세스를 구현하는 방법을 보여주는 샘플 코드입니다.

 <?php

// 이것이 사용자가 제출 한 양식 데이터라고 가정합니다.
$userInput = [
    'name' => 'John Doe',
    'email' => 'johndoe@example.com',
    'age' => '',  // 널 값
    'address' => null,  // 널 값
];

// 필요한 기본 키를 정의하십시오
$defaultKeys = ['name', 'email', 'age', 'address'];

// 1. 사용 array_filter 데이터를 청소하십시오
$filteredData = array_filter($userInput, function($value) {
    // 过滤掉널 값、null 또는 빈 문자열
    return !empty($value);
});

// 2. 사용 array_fill_keys 누락 된 키의 기본값을 채우십시오
$cleanedData = array_fill_keys($defaultKeys, 'default_value');

// 3. 필터링 된 데이터를 기본 배열로 병합하십시오
$finalData = array_merge($cleanedData, $filteredData);

// 최종 결과를 인쇄하십시오
print_r($finalData);

?>

4. 코드 설명

  1. 입력 데이터 : $ userInput은 이름 , 이메일 , 연령주소 와 같은 필드를 포함하여 시뮬레이션 된 사용자 제출 배열입니다. 여기서 우리는 고의적으로 비워 두거나 연령주소 필드에 대해 Null 로 설정하여 사용자가 이러한 데이터를 채우지 않은 상황을 시뮬레이션합니다.

  2. 깨끗한 데이터 : Array_Filter 기능을 통해 빈 또는 유효하지 않은 데이터를 걸러냅니다. 콜백 함수에서 ! 빈 ($ value)은 널이 아닌 값 만 유지되도록합니다.

  3. 기본값을 채우십시오 : Array_Fill_Keys 함수를 사용하여 가능한 모든 키 ( 이름 , 이메일 , 연령주소 ) ( 'default_value' 사용)에 대한 기본값을 설정합니다 (여기서는 여기에서 기본 값). 이런 식으로 커밋되지 않은 필드는 기본값으로 자동으로 채워집니다.

  4. 병합 배열 : Array_Merge를 사용하여 정리 된 데이터를 기본값과 결합하십시오. 병합되면 $ FilteredData 의 유효한 데이터는 기본 배열의 해당 항목을 무시합니다.

5. 출력 결과

Final $ FinalData 배열에는 모든 유효한 사용자 입력 데이터가 포함되어 있으며 누락 된 필드를 기본값으로 채 웁니다. 예를 들어:

 Array
(
    [name] => John Doe
    [email] => johndoe@example.com
    [age] => default_value
    [address] => default_value
)

6. 요약

Array_FilterArray_Fill_Keys 의 조합을 통해 배열 데이터를 효율적으로 처리하고 잘못된 데이터를 필터링하며 누락 된 필드에 대한 합리적인 기본값을 제공 할 수 있습니다. 이 접근법은 사용자 입력 및 외부 데이터를 처리 할 때 매우 유용하여 불완전하거나 불규칙한 데이터에 직면 할 때 프로그램이 여전히 안정적으로 실행될 수 있도록합니다.

<div style = "테두리 탑 : 1px solid #ccc; 마진 : 20px 0;"> </div>

관련 링크 :