현재 위치: > 최신 기사 목록> 프론트 엔드 들어오는 필드로 데이터 구조를 동적으로 구축합니다

프론트 엔드 들어오는 필드로 데이터 구조를 동적으로 구축합니다

M66 2025-06-06

개발에서 우리는 종종 양식 데이터를 처리하거나 필드를 내보내거나 컨텐츠를 반환하기 위해 인터페이스를 동적으로 구성하는 등 프론트 엔드에 의해 전달 된 필드를 기반으로 데이터 구조를 동적으로 구축해야합니다. PHP의 array_fill_keys 함수는 특정 필드를 포함하는 배열 구조를 효율적으로 초기화하는 데 사용될 수 있습니다.

이 기사는 실용적인 예를 사용하여 Front-End가 전달한 필드 목록과 함께 Array_Fill_Keys를 사용하여 재사용 가능한 데이터 템플릿을 신속하게 구축하는 방법을 설명합니다.

array_fill_keys 란 무엇입니까?

Array_fill_Keys는 PHP에서 사용되는 기능으로 배열을 생성하는 기능입니다. 두 매개 변수를 수용합니다.

 array_fill_keys(array $keys, mixed $value): array
  • $ 키 : 키로 사용할 배열.

  • $ 값 : 모든 키에 해당하는 기본값.

이 기능의 아름다움은 수동 루핑없이 통합 구조를 가진 배열을 빠르게 생성 할 수 있다는 것입니다.

응용 프로그램 시나리오 : 데이터 구조를 구축하기위한 동적 필드

프론트 엔드가 필드 배열을 통과한다고 가정하면, 우리의 작업은 이러한 필드를 기반으로 기본값 (예 : NULL )을 포함하는 배열 템플릿을 생성하는 것입니다. 이 템플릿은 데이터를 채우고 필드를 확인하고 응답 구조를 작성하는 데 사용될 수 있습니다.

샘플 코드

 <?php
// 이것이 프론트 엔드 패스라고 가정하십시오POST오는 필드 목록
$inputFields = $_POST['fields'] ?? ['id', 'name', 'email'];

// 사용 array_fill_keys 기본값을 만듭니다 null 의 구조
$dataTemplate = array_fill_keys($inputFields, null);

// 이제이 구조에 따라 데이터를 구성 할 수 있습니다,예를 들어 데이터베이스에서 쿼리 된 사용자 데이터를 작성하십시오.:
$userFromDb = [
    'id' => 101,
    'name' => 'Alice',
    'email' => 'alice@example.com',
    'created_at' => '2024-04-01'
];

// 템플릿을 사용하여 필터 필드 만 필터링하십시오
$filteredUser = array_intersect_key($userFromDb, $dataTemplate);

// 누락 된 필드를 작성하십시오(데이터베이스에서 필드가 전송되지 않은 경우)
$finalUserData = array_merge($dataTemplate, $filteredUser);

print_r($finalUserData);
?>

출력 결과 :

 Array
(
    [id] => 101
    [name] => Alice
    [email] => alice@example.com
)

URL을 결합하는 응용 프로그램

때때로 프론트 엔드는 또한 점프 주소를 구성하려는 경우와 같이 링크 매개 변수를 생성하기 위해 필드 세트를 보낼 수도 있습니다.

 $fields = $_GET['fields'] ?? ['uid', 'token'];

$params = array_fill_keys($fields, '');

// 실제 매개 변수를 작성하십시오(예를 들어session비즈니스 논리에 들어가십시오)
$params['uid'] = 888;
$params['token'] = 'abc123';

// 구조URL
$queryString = http_build_query($params);
$url = "https://m66.net/api/user_info?" . $queryString;

echo $url;
// 산출:https://m66.net/api/user_info?uid=888&token=abc123

요약

Array_Fill_Keys를 사용하면 프론트 엔드 들어오는 필드를 기반으로 통합 데이터 구조를 우아하고 효율적으로 구축 할 수 있습니다. 코드 로직을 단순화 할뿐만 아니라 코드의 유연성과 유지 관리도 향상시킵니다. array_mergearray_intersect_key 와 같은 배열 함수와 쌍을 이룰 때 그 역할은 더욱 필수 불가능합니다.

적용 가능 :

  • 데이터 템플릿을 작성하십시오

  • 동적 필드 필터링

  • 매개 변수 초기화

  • 배치 할당 작업 등

이 기능을 잘 활용하여 PHP 코드를보다 간결하고 강력하게 만듭니다.