PHP에서 Array_Column 및 Array_Values는 각각 배열 및 재인덱스 배열에서 열을 추출하는 데 사용되는 두 가지 매우 실용적인 기능입니다. 이 두 기능을 결합하면 특히 다차원 배열을 처리 할 때 배열의 인덱스를 효율적으로 재구성 할 수 있습니다. 다음 으로이 두 기능이 함께 사용되는 방법을 살펴보고 코드를 통해 코드를 최적화하는 방법을 보여줍니다.
Array_Column 함수의 주요 기능은 다차원 배열에서 특정 열의 데이터를 추출하는 것입니다. 세 가지 매개 변수를 수락합니다.
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ 배열 : 입력 다차원 배열.
$ column_key : 추출 된 열의 키 이름 또는 키 값을 지정합니다.
$ index_key (선택 사항) : 배열 재구성 후 인덱스를 지정합니다. 지정되지 않으면 배열은 기본 숫자 인덱스를 사용합니다.
Array_Values 함수의 함수는 입력 배열의 모든 값을 포함하는 새 배열을 반환하고 0에서 시작하는 연속 숫자의 인덱스를 재구성하는 것입니다. 즉, 원래 배열에서 관련 키를 폐기하여 값과 흡수 된 인덱스 만 유지할 수 있습니다.
array_values(array $array): array
Array_Column 과 Array_Values를 결합하면 다차원 배열에서 열을 추출하고 해당 열의 결과를 다시 표시 할 수 있습니다. 간단한 예는 다음과 같습니다.
여러 사용자 정보가 포함 된 다차원 배열이 있다고 가정합니다. 각 사용자에게는 ID , 이름 및 이메일 과 같은 필드가 있습니다. 우리는 모든 사용자의 이메일을 추출하여 결과를 다시 표시하려고합니다.
<?php
// 원시 데이터
$users = [
['id' => 1, 'name' => '장 산', 'email' => 'zhangsan@example.com'],
['id' => 2, 'name' => 'Li Si', 'email' => 'lisi@example.com'],
['id' => 3, 'name' => '왕 우', 'email' => 'wangwu@example.com']
];
// 사용 array_column 발췌 email 목록
$emails = array_column($users, 'email');
// 사용 array_values 인덱스를 재건하십시오
$emails = array_values($emails);
// 출력 결과
print_r($emails);
?>
Array
(
[0] => zhangsan@example.com
[1] => lisi@example.com
[2] => wangwu@example.com
)
이 예를 통해 먼저 Array_Column을 사용하여 이메일 열을 추출한 다음 Array_Values를 통해 연속 숫자 인덱스를 재구성합니다. 이런 식으로 우리는 0부터 시작하는 인덱스가있는 새로운 배열을 얻습니다.
경우에 따라 열을 추출 할뿐만 아니라 다차원 배열을 다시 인덱스해야 할 수도 있습니다. 다음은 여러 정보가 포함 된 배열에서 열을 추출하고 인덱스를 재정렬하면서 순서대로 유지하는 방법을 보여주는보다 복잡한 예입니다.
<?php
// 원시 데이터
$products = [
['id' => 101, 'name' => 'Apple', 'price' => 3.5],
['id' => 102, 'name' => 'Banana', 'price' => 1.2],
['id' => 103, 'name' => 'Orange', 'price' => 2.0]
];
// 발췌产品价格,并인덱스를 재건하십시오
$prices = array_column($products, 'price');
// 인덱스를 재건하십시오
$prices = array_values($prices);
// 출력 결과
print_r($prices);
?>
Array
(
[0] => 3.5
[1] => 1.2
[2] => 2.0
)
이 예에서는 제품 가격을 성공적으로 추출하고 Array_Values 함수를 통해 새로운 배열 인덱스를 재구성했습니다.
실제 개발에서 URL이 포함 된 배열이 발생하여 도메인 이름을 교체 할 수 있습니다. URL이 포함 된 배열이 있고 모든 URL의 도메인 이름을 m66.net 으로 교체해야한다고 가정하면 Array_Map 및 일반 표현식을 사용 하여이 요구 사항을 달성 할 수 있습니다.
<?php
// 원시 데이터
$urls = [
'https://example.com/page1',
'http://example.com/page2',
'https://example.com/page3'
];
// 사용 array_map 도메인 이름을 일반 표현식으로 바꾸십시오
$updatedUrls = array_map(function($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
// 출력 결과
print_r($updatedUrls);
?>
Array
(
[0] => https://m66.net/page1
[1] => http://m66.net/page2
[2] => https://m66.net/page3
)
이러한 방식으로 배열의 URL을 도메인 이름 M66.net 으로 대체 할 수 있습니다.
Array_Column 및 Array_Values는 조합을 사용하여 열 데이터를 효과적으로 추출하고 배열 인덱스를 재구성 할 수있는 매우 강력한 도구입니다. 다차원 배열을 다룰 때는 배열 구조의 단순성과 사양을 보장하면서 더 효율적으로 필요한 데이터를 얻는 데 도움이 될 수 있습니다. URL이 처리되는 시나리오의 경우 정규식을 결합하여 배치 도메인 이름 교체를 수행 할 수도 있습니다.
이 기사 가이 두 기능을 이해하고 사용하는 데 도움이되기를 바랍니다. 더 많은 질문이 있으시면 계속 논의하십시오!