데이터베이스 데이터를 처리 할 때 개발자는 종종 특정 테이블의 필드 이름을 이미 알고 있으며 프로그램의 이러한 필드에 대해 통합 된 초기 값을 설정하려는 시나리오를 만나는 경우가 종종 있습니다. 예를 들어, 데이터를 삽입하거나 양식 필드 세트를 초기화 할 준비를 할 때 "필드 => 기본값"구조가 필요합니다.
기존의 접근 방식은 각 필드에 수동으로 값을 할당하는 것일 수 있으며, 이는 길고 유지하기가 어렵습니다. 다행스럽게도 PHP는 강력한 내장 기능 Array_fill_Keys () 를 제공 하여이 문제를 우아하게 해결하고 데이터 처리 효율성을 향상시킬 수 있습니다.
Array_Fill_Keys ()는 키 이름 목록으로 배열을 수락하고 각 키 이름에 동일한 값을 할당하여 새 연관 배열을 반환합니다. 함수 서명은 다음과 같습니다.
array array_fill_keys(array $keys, mixed $value)
$fields = ['name', 'email', 'phone'];
$initialValues = array_fill_keys($fields, null);
print_r($initialValues);
산출:
Array
(
[name] =>
[email] =>
[phone] =>
)
이 코드는 모든 필드에 NULL 값을 빠르게 할당하여 초기화 작업에 매우 적합합니다.
새 레코드를 삽입해야한다고 상상해보십시오. 테이블 구조는 다음과 같습니다.
이름
이메일
핸드폰
생성 된 _at
updated_at
먼저 필드 목록을 정의한 다음 Array_Fill_Keys를 사용 하여이 필드의 값을 빠르게 초기화 할 수 있습니다.
$fields = ['name', 'email', 'phone', 'created_at', 'updated_at'];
$data = array_fill_keys($fields, '');
$data['created_at'] = date('Y-m-d H:i:s');
$data['updated_at'] = date('Y-m-d H:i:s');
// 예:데이터베이스를 삽입 할 준비를하십시오
$sql = "INSERT INTO users (name, email, phone, created_at, updated_at) VALUES (:name, :email, :phone, :created_at, :updated_at)";
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
이를 통해 코드를 더 간단하게 만들뿐만 아니라 필드의 통합 초기화를 더 쉽게 유지할 수 있습니다.
실제 개발에서 필드는 구성 파일 또는 데이터베이스 구조에서 읽거나 기본값으로 초기화 한 다음 사용자 입력을 다음과 병합하려고합니다.
$defaultFields = ['name', 'email', 'phone'];
$defaults = array_fill_keys($defaultFields, '');
// 사용자가 제출 한 데이터
$userInput = [
'name' => 'Alice',
'email' => 'alice@example.com'
];
// 사용자 입력 및 기본값을 병합하십시오
$data = array_merge($defaults, $userInput);
print_r($data);
산출:
Array
(
[name] => Alice
[email] => alice@example.com
[phone] =>
)
이 방법을 사용하면 사용자가 모든 필드를 제공하지 않더라도 데이터 구조를 완료하고 후속 스토리지 또는 처리를 용이하게 할 수 있습니다.
초기화 된 양식 필드에서 데이터를 반환하기 위해 API 인터페이스를 구성한다고 가정 해 봅시다.
$fields = ['username', 'password', 'email', 'phone'];
$formData = array_fill_keys($fields, '');
header('Content-Type: application/json');
echo json_encode([
'code' => 0,
'message' => 'success',
'data' => $formData,
'doc_url' => 'https://m66.net/docs/form-api'
]);
클라이언트 가이 사본을 받고 반환 한 후에는 필드 구조의 추가 추론없이 빈 양식을 직접 렌더링 할 수 있습니다.
Array_Fill_Keys () 는 종종 간과되지만 매우 실용적인 기능이며, 특히 데이터 초기화 단계에서 코드의 단순성과 유지 가능성을 향상시키는 데 적합합니다. 데이터베이스 필드, 인터페이스 데이터, 형식 기본값 및 기타 시나리오를 처리하는 데 중요한 역할을 할 수 있습니다. PHP 개발자는 도구 상자에 포함시키고보다 우아하고 효율적인 코드를 작성할 수도 있습니다.