매일 PHP 개발에서는 특히 API를 처리 할 때 데이터 또는 구성 템플릿을 처리 할 때 일부 고정 구조 JSON 데이터를 구성해야합니다. 각 키를 수동으로 채우는 데 방해가된다면 Array_Fill_Keys 함수는 좋은 도우미가됩니다.
Array_Fill_Keys 는 PHP가 제공하는 내장 기능입니다. 이 기능은 지정된 키 이름 배열과 기본값을 사용하여 완전한 연관 배열을 빠르게 생성하는 것 입니다.
구문은 다음과 같습니다.
array_fill_keys(array $keys, mixed $value): array
$ 키 : 키로 사용해야하는 배열.
$ 값 : 모든 키에 할당 된 초기 값.
이 기능은 템플릿 초기화, 자리 표시 자 데이터 구성 및 기타 시나리오에서 사용하기에 매우 적합합니다.
필드 ID , 이름 , 상태 , URL 을 포함하는 표준화 된 JSON 응답을 반환 해야하는 시나리오를 상상해보십시오.이 필드는 초기화 할 때 기본값 (예 : NULL, 빈 문자열 등)을 가져야합니다.
전통적인 글쓰기 방식은 다음과 같습니다.
$template = [
'id' => null,
'name' => null,
'status' => null,
'url' => null
];
필드가 너무 많으면이 방법은 반복적이고 번거롭게됩니다.
Array_Fill_Keys를 사용하면 다음을 작성할 수 있습니다.
$fields = ['id', 'name', 'status', 'url'];
$template = array_fill_keys($fields, null);
이것은 모든 NULL 값을 가진 다양한 템플릿을 얻어 효율성과 가독성을 크게 향상시킵니다.
그러한 데이터 템플릿 세트를 출력하여 JSON 문자열로 변환하여 프론트 엔드로 반환해야한다고 가정합니다.
$fields = ['id', 'name', 'status', 'url'];
$template = array_fill_keys($fields, null);
// 여기서 우리는 데모입니다,일부 값을 입력하십시오
$template['id'] = 101;
$template['name'] = '테스트 항목';
$template['status'] = 'active';
$template['url'] = 'https://m66.net/api/project/101';
echo json_encode($template, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
출력 결과는 다음과 같습니다.
{
"id": 101,
"name": "테스트 항목",
"status": "active",
"url": "https://m66.net/api/project/101"
}
이러한 방식으로, 전체 JSON 구조의 템플릿은 매우 간결한 방식으로 구축 될 수 있으며 필요에 따라 필드 값을 동적으로 대체 할 수 있습니다.
예를 들어 페이징 데이터를 시뮬레이션하기 위해 여러 데이터 항목을 한 번에 구성 해야하는 경우 루프를 결합하여 다음을 생성 할 수 있습니다.
$fields = ['id', 'name', 'status', 'url'];
$list = [];
for ($i = 1; $i <= 5; $i++) {
$item = array_fill_keys($fields, null);
$item['id'] = $i;
$item['name'] = '프로젝트 ' . $i;
$item['status'] = 'active';
$item['url'] = "https://m66.net/api/project/{$i}";
$list[] = $item;
}
echo json_encode($list, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
출력은 각각 동일한 구조를 갖는 5 개의 항목을 포함하는 JSON 배열로, 시뮬레이션 된 데이터 또는 프론트 엔드 인터페이스로 출력에 이상적입니다.
Array_fill_keys 는 간단하지만 매우 실용적인 기능으로, 특히 통합 구조가있는 템플릿 어레이를 구성하는 데 적합합니다. 단일 객체이든 배열 목록이든 JSON과 함께 사용하면 코드의 가독성과 유지 관리가 크게 향상 될 수 있습니다.
다음에 구조화 된 데이터를 초기화 해야하는 경우이 작은 도구 기능을 사용하여 PHP 개발을보다 쉽게 만들 수 있습니다!