PHP 프로그래밍에서는 종종 배열을 초기화 해야하는 상황이 발생합니다. 특히 일부 직렬화 된 배열을 처리 할 때는 어레이를 수동으로 초기화하는 것이 매우 번거롭고 오류가 발생할 수 있습니다. 다행히도 PHP는 이러한 배열을보다 효율적으로 초기화하는 데 도움이되는 몇 가지 내장 기능을 제공합니다. 그 중에서도 범위 와 Array_fill_keys는 직렬화 된 배열을 신속하게 만들고 개발 효율을 향상시키는 데 도움이되는 두 가지 매우 유용한 기능입니다.
직렬화 된 배열은 요소가 연속적이며 일반적으로 특정 초기 값에서 시작, 증가 또는 감소하는 키를 갖는 배열을 나타냅니다. 예를 들어, 배열 [1, 2, 3, 4, 5]는 일반적인 직렬화 배열입니다. 우리는 일반적으로 각 요소를 수동으로 작성하지 않고도 특정 방식으로 이러한 배열을 자동으로 생성해야합니다.
PHP에서 범위 함수는 지정된 범위의 배열을 생성하는 데 사용될 수 있습니다. 세 가지 매개 변수를 수락합니다.
시작 : 시퀀스의 시작 값
끝 : 시퀀스의 끝 값
단계 : 단계 값 (선택 사항, 기본값은 1)
예를 들어, 범위를 사용하면 1에서 10까지의 배열을 빠르게 만들 수 있습니다.
$rangeArray = range(1, 10);
print_r($rangeArray);
출력 결과는 다음과 같습니다.
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
보시다시피, 범위 함수는 각 요소의 값이 1로 증가하는 1에서 10까지의 배열을 성공적으로 생성합니다.
Array_Fill_Keys 함수는 주어진 키를 기반으로 새 배열을 생성하고 각 키에 동일한 값을 할당하는 데 사용됩니다. 두 가지 매개 변수를 수용합니다.
키 : 배열 또는 문자열 일 수있는 배열의 키.
값 : 각 키에 할당 할 값.
예를 들어, 여러 키가 포함 된 배열을 만들고 각 키가 true 값을 갖는 경우 array_fill_keys를 사용할 수 있습니다.
$keys = ['a', 'b', 'c', 'd'];
$value = true;
$filledArray = array_fill_keys($keys, $value);
print_r($filledArray);
출력 결과는 다음과 같습니다.
Array
(
[a] => 1
[b] => 1
[c] => 1
[d] => 1
)
Array_Fill_Keys 함수는 각 지정된 각 키를 동일한 값으로 초기화하여 배열 초기화 효율성을 향상시킵니다.
범위 와 array_fill_keys 함수를 결합하여 직렬화 된 배열을 신속하게 초기화하고 지정된 값을 채울 수 있습니다. 1에서 10까지의 배열을 작성하고 각 요소가 true 값을 가지고 있다고 가정하면 다음 코드를 사용할 수 있습니다.
$keys = range(1, 10);
$filledArray = array_fill_keys($keys, true);
print_r($filledArray);
출력 결과는 다음과 같습니다.
Array
(
[1] => 1
[2] => 1
[3] => 1
[4] => 1
[5] => 1
[6] => 1
[7] => 1
[8] => 1
[9] => 1
[10] => 1
)
보시다시피, 범위 함수는 먼저 1에서 10까지의 숫자를 생성 한 다음 array_fill_keys는 이 숫자를 키로 가져와 각 키의 값을 true 로 초기화합니다.
URL 주소 배치를 처리하고 도메인 이름을 균일하게 수정해야한다고 가정 해 봅시다. 범위 및 array_fill_keys를 사용하여 직렬화 된 배열을 생성하고 필요에 따라 URL의 도메인 이름을 교체 할 수 있습니다. 다음은 example.com 에서 m66.net 으로 여러 URL로 도메인 이름을 교체해야한다고 가정합니다.
$urls = [
'https://example.com/page1',
'https://example.com/page2',
'https://example.com/page3',
];
$updatedUrls = array_map(function($url) {
return preg_replace('/https:\/\/example\.com/', 'https://m66.net', $url);
}, $urls);
print_r($updatedUrls);
출력 결과는 다음과 같습니다.
Array
(
[0] => https://m66.net/page1
[1] => https://m66.net/page2
[2] => https://m66.net/page3
)
이 예에서는 Array_Map 함수를 사용하여 모든 URL 주소를 처리하고 도메인 이름을 M66.net 으로 바꿉니다.
범위 및 array_fill_keys 기능을 사용하면 직렬화 된 배열을 신속하게 초기화하여 수동으로 배열 요소의 번거 로움을 줄이고 프로그래밍 효율성을 향상시킬 수 있습니다. preg_replace 또는 기타 방법과 결합하여 URL의 도메인 이름 교체 작업을 효율적으로 처리 할 수있어 코드의 단순성과 유지 보수 가능성을 더욱 향상시킬 수 있습니다.