현재 위치: > 최신 기사 목록> Array_Column + Array_Values ​​: 인덱스 재건을위한 모범 사례

Array_Column + Array_Values ​​: 인덱스 재건을위한 모범 사례

M66 2025-04-28

PHP에서 Array_ColumnArray_Values는 각각 배열 및 재인덱스 배열에서 열을 추출하는 데 사용되는 두 가지 매우 실용적인 기능입니다. 이 두 기능을 결합하면 특히 다차원 배열을 처리 할 때 배열의 인덱스를 효율적으로 재구성 할 수 있습니다. 다음 으로이 두 기능이 함께 사용되는 방법을 살펴보고 코드를 통해 코드를 최적화하는 방법을 보여줍니다.

1. array_column 함수 소개

Array_Column 함수의 주요 기능은 다차원 배열에서 특정 열의 데이터를 추출하는 것입니다. 세 가지 매개 변수를 수락합니다.

 array_column(array $array, mixed $column_key, mixed $index_key = null): array
  • $ 배열 : 입력 다차원 배열.

  • $ column_key : 추출 된 열의 키 이름 또는 키 값을 지정합니다.

  • $ index_key (선택 사항) : 배열 재구성 후 인덱스를 지정합니다. 지정되지 않으면 배열은 기본 숫자 인덱스를 사용합니다.

2. array_values ​​함수 소개

Array_Values ​​함수의 함수는 입력 배열의 모든 값을 포함하는 새 배열을 반환하고 0에서 시작하는 연속 숫자의 인덱스를 재구성하는 것입니다. 즉, 원래 배열에서 관련 키를 폐기하여 값과 흡수 된 인덱스 만 유지할 수 있습니다.

 array_values(array $array): array

3. Array_ColumnArray_Values를 조합하여 사용하십시오

Array_ColumnArray_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부터 시작하는 인덱스가있는 새로운 배열을 얻습니다.

4. 더 복잡한 예 : 인덱스의 조합 추출 및 재건축

경우에 따라 열을 추출 할뿐만 아니라 다차원 배열을 다시 인덱스해야 할 수도 있습니다. 다음은 여러 정보가 포함 된 배열에서 열을 추출하고 인덱스를 재정렬하면서 순서대로 유지하는 방법을 보여주는보다 복잡한 예입니다.

 <?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 ​​함수를 통해 새로운 배열 인덱스를 재구성했습니다.

5. URL 교체 작업 (예)

실제 개발에서 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 으로 대체 할 수 있습니다.

6. 결론

Array_ColumnArray_Values는 조합을 사용하여 열 데이터를 효과적으로 추출하고 배열 인덱스를 재구성 할 수있는 매우 강력한 도구입니다. 다차원 배열을 다룰 때는 배열 구조의 단순성과 사양을 보장하면서 더 효율적으로 필요한 데이터를 얻는 데 도움이 될 수 있습니다. URL이 처리되는 시나리오의 경우 정규식을 결합하여 배치 도메인 이름 교체를 수행 할 수도 있습니다.

이 기사 가이 두 기능을 이해하고 사용하는 데 도움이되기를 바랍니다. 더 많은 질문이 있으시면 계속 논의하십시오!