배경 관리 시스템, 컨텐츠 관리 플랫폼 또는 데이터 디스플레이 페이지를 개발할 때는 종종 테이블의 열 구성을 정의해야합니다. 예를 들어, 제목, 정렬 및 각 열에 표시할지 여부와 같은 속성을 설정해야 할 수도 있습니다. 이 시나리오에서 array_fill_keys () 함수는 "기본값"이있는 구성 배열을 신속하게 구성하여 구성을 초기화하는 프로세스를 크게 단순화하는 데 도움이 될 수 있습니다.
PHP의 array_fill_keys ()는 키 이름의 배열과 연합 된 기본 값을 결합하여 연관 배열을 생성하는 내장 기능입니다.
array_fill_keys(array $keys, mixed $value): array
$ 키 : 사용할 키 이름 배열.
$ 값 : 각 키에 대해 지정된 기본값.
다음 필드를 표시 해야하는 데이터 테이블이 있다고 가정합니다.
$columns = ['id', 'username', 'email', 'status', 'created_at'];
우리는이 필드에 대한 통합 된 초기 구성을 제공하고자합니다.
[
'title' => '',
'align' => 'left',
'visible' => true
]
<?php
$columns = ['id', 'username', 'email', 'status', 'created_at'];
$defaultConfig = [
'title' => '',
'align' => 'left',
'visible' => true
];
// 사용array_fill_keys기본값으로 구성 배열을 구성하십시오
$configs = array_fill_keys($columns, $defaultConfig);
// 예:특정 필드의 기본 구성을 무시하십시오
$configs['id']['title'] = '일련 번호';
$configs['username']['title'] = '사용자 이름';
$configs['email']['title'] = '우편';
$configs['status']['title'] = '상태';
$configs['created_at']['title'] = '창조 시간';
// 예输出
echo '<pre>';
print_r($configs);
echo '</pre>';
Array
(
[id] => Array
(
[title] => 일련 번호
[align] => left
[visible] => 1
)
[username] => Array
(
[title] => 사용자 이름
[align] => left
[visible] => 1
)
...
)
이 열 구성을 주소와 같은 인터페이스를 통해 프론트 엔드로 전달한다고 가정합니다.
https://m66.net/api/table/config
$ 구성을 JSON으로 변환하여 프론트 엔드로 출력 할 수 있습니다.
header('Content-Type: application/json');
echo json_encode($configs);
프론트 엔드는 이러한 구성을 기반으로 테이블을 동적으로 렌더링 할 수 있습니다.
구성 구조가 다른 여러 필드가있는 경우 Array_Map ()을 결합하거나 기본값을 수동으로 재정의 할 수도 있습니다.
쉽게 멀티플렉싱하기 위해 함수로 더 캡슐화 될 수 있습니다.
참고 : Array_Fill_Keys () 는 얕은 사본입니다. 특정 키의 값을 수정하면 원래 $ DefaultConfig가 변경되지 않지만 여러 키가 동일한 배열 참조를 공유 할 때주의하십시오 ( Array_Map () + Array_Merge () 에서 피할 수 있음).