현재 위치: > 최신 기사 목록> array_fill_keys 및 array_keys와 협력하는 일반적인 방법

array_fill_keys 및 array_keys와 협력하는 일반적인 방법

M66 2025-05-17

PHP에서 배열은 매우 일반적이며 중요한 데이터 구조입니다. 프로그래밍 과정에서 종종 배열의 검색, 필터, 수정 및 기타 작업을 수행해야합니다. PHP는 Array_Fill_KeysArray_Keys가 두 가지 강력한 기능인 풍부한 배열 처리 기능을 제공합니다. 이 두 기능을 영리하게 결합하면 배열 작업을 최적화하고 코드 효율성을 향상시키는 데 도움이 될 수 있습니다.

array_fill_keysarray_keys 소개

  • Array_Keys ()
    Array_Keys ()는 배열에서 모든 키 이름의 배열을 반환하는 데 사용됩니다. 이 기능은 일반적으로 배열에서 특정 키 값을 가져와야 할 때 매우 유용합니다.

     $array = ['a' => 1, 'b' => 2, 'c' => 3];
    $keys = array_keys($array); // 반품 ['a', 'b', 'c']
    
  • array_fill_keys ()
    Array_Fill_Keys ()는 지정된 키 이름을 특정 값으로 채우는 데 사용됩니다. 이 함수는 전달 된 키 이름 배열을 기반으로 새 배열을 생성 하고이 키 이름에 해당하는 모든 값을 지정된 값으로 채 웁니다.

     $keys = ['a', 'b', 'c'];
    $filledArray = array_fill_keys($keys, 0); // 반품 ['a' => 0, 'b' => 0, 'c' => 0]
    

Array_Keys와 함께 Array_Fill_KeysArray_Keys 사용을위한 최적화 기술

이 두 기능의 조합은 배열에 특정 키 이름을 포함하는지 여부를 결정하고 기본값을 이러한 키 이름에 할당하는 것과 같은 일부 공통 어레이 작업을 효율적으로 처리하는 데 도움이 될 수 있습니다. 다음은 몇 가지 일반적인 응용 프로그램 시나리오입니다.

1. 배열에서 누락 된 키에 대한 기본값을 설정합니다

특정 키 이름이 포함 된 배열이 있다고 가정하지만 배열에 특정 키 이름이 누락되었는지 확실하지 않습니다. 이러한 키 이름이 누락 된 경우 기본 값을 설정하려고합니다. 현재 Array_Fill_KeysArray_Keys 와 함께 조합하여 구현할 수 있습니다.

샘플 코드 :

 $array = ['a' => 1, 'b' => 2];

// 확인할 키 이름을 정의하십시오
$requiredKeys = ['a', 'b', 'c', 'd'];

// 배열에서 기존 키 이름을 가져옵니다
$existingKeys = array_keys($array);

// 누락 된 키 이름을 찾으십시오
$missingKeys = array_diff($requiredKeys, $existingKeys);

// 사용 array_fill_keys 누락 된 키 이름의 기본값을 설정합니다
$defaultValues = array_fill_keys($missingKeys, 0);

// 원래 배열을 누락 된 키 값 쌍으로 병합하십시오
$finalArray = array_merge($array, $defaultValues);

print_r($finalArray);

산출:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 0
    [d] => 0
)

이 예에서는 Array_Keys를 사용하여 배열에서 기존 키 이름을 가져오고 Array_Diff를 사용하여 누락 된 키 이름을 찾은 다음 Array_Fill_Keys를 사용하여 이러한 누락 된 키 이름의 기본값 0을 채우고 최종적으로 원래 배열과 새로운 키 값 쌍을 array_merge를 통합합니다.

2. 여러 키에 대한 기본값을 동적으로 추가합니다

때로는 배열에 여러 키 기본값을 동적으로 추가해야합니다. Array_Keys를 통해 기존 키 이름을 추출하고 기본값을 array_fill_keys 로 채우면 코드를보다 간결하고 효율적으로 만들 수 있습니다.

샘플 코드 :

 $existingArray = ['x' => 1, 'y' => 2];

// 새 키 이름을 정의합니다
$newKeys = ['a', 'b', 'c'];

// 사용 array_fill_keys 새 키 이름의 기본값을 입력하십시오.
$newValues = array_fill_keys($newKeys, 0);

// 기존 배열 및 새로운 키 값 쌍을 병합하십시오
$finalArray = array_merge($existingArray, $newValues);

print_r($finalArray);

산출:

 Array
(
    [x] => 1
    [y] => 2
    [a] => 0
    [b] => 0
    [c] => 0
)

여기서는 먼저 Array_Fill_Keys를 통해 새 키 이름의 기본값 0을 채운 다음 원래 번호와 결합하여 최종 결과를 얻습니다.

3. URL을 사용한 배열 처리

경우에 따라 URL이 포함 된 배열을 처리해야 할 수도 있고 이러한 URL의 도메인 이름을 균일하게 교체해야 할 수도 있습니다. 배열의 모든 URL 도메인 이름을 m66.net 으로 바꾸어야한다고 가정하면 Array_Map을 사용하여 str_replace 로 처리 할 수 ​​있습니다.

샘플 코드 :

 $urls = [
    'https://www.example.com/page1',
    'https://www.example.com/page2',
    'https://m66.net/page3'
];

// 모두 교체하십시오 URL 도메인 이름
$updatedUrls = array_map(function ($url) {
    return preg_replace('/https?:\/\/(www\.)?[^\/]+/', 'https://m66.net', $url);
}, $urls);

print_r($updatedUrls);

산출:

 Array
(
    [0] => https://m66.net/page1
    [1] => https://m66.net/page2
    [2] => https://m66.net/page3
)

URL의 도메인 이름을 일반 표현식으로 바꾸면 모든 URL의 도메인 이름을 M66.NET 으로 쉽게 교체하여 배치 교체 작업을 완료 할 수 있습니다.

요약

array_fill_keysarray_keys를 영리하게 결합하여 특히 배열 키 이름을 처리 할 때 PHP에서 배열 작업을 최적화 할 수 있습니다. 키 이름이 누락 된 기본값을 설정하거나 동적으로 새로운 키 값을 추가하거나 URL 배열을 배치하든 이러한 기능의 조합은보다 효율적이고 간결한 코드를 작성하는 데 도움이 될 수 있습니다. 실제 개발에서 이러한 배열 기능의 합리적인 사용은 코드의 가독성 및 실행 효율을 크게 향상시킬 수 있습니다.