현재 위치: > 최신 기사 목록> array_column을 사용하여 객체 배열에서 속성을 추출하는 방법 (참고)

array_column을 사용하여 객체 배열에서 속성을 추출하는 방법 (참고)

M66 2025-04-28

PHP에서 Array_Column은 다차원 배열에서 열의 값을 추출하는 매우 유용한 기능입니다. 객체 배열을 처리 할 때 Array_Column은 객체에서 특정 속성 값을 추출하는 데 도움이 될 수 있습니다. 이 기사에서는 Array_Column 함수를 사용하여 객체 배열에서 특정 속성을 추출하는 방법과주의를 기울여야 할 방법을 소개합니다.

Array_Column을 사용하여 객체 속성을 추출합니다

이름URL 과 같은 다른 속성을 가진 여러 객체 배열이 있다고 가정합니다. Array_Column을 사용하여 특정 속성 값을 추출 할 수 있습니다.

샘플 코드 :

 <?php
// 여러 개체가 포함 된 배열을 정의하십시오
$objects = [
    (object) ['id' => 1, 'name' => 'Alice', 'url' => 'https://example.com'],
    (object) ['id' => 2, 'name' => 'Bob', 'url' => 'https://example.org'],
    (object) ['id' => 3, 'name' => 'Charlie', 'url' => 'https://example.net']
];

// 사용 array_column 발췌 "name" 재산
$names = array_column($objects, 'name');
print_r($names);

// 사용 array_column 발췌 "url" 재산并替换域名
$urls = array_column($objects, 'url');
$urls = array_map(function($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
print_r($urls);
?>

출력 결과 :

 Array
(
    [0] => Alice
    [1] => Bob
    [2] => Charlie
)

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

분석:

  1. 이름 속성 추출 : array_column ($ 객체, 'name')을 사용하여 객체 배열에서 모든 객체의 이름 속성 값을 추출합니다.

  2. URL 속성을 추출하고 도메인 이름을 대체합니다 . URL 처리 중에 먼저 모든 객체의 URL 속성을 추출한 다음 Array_Mappreg_replace 함수를 사용하여 원래 URL의 도메인 이름 부분을 M66.NET 로 바꿉니다.

참고 :

  1. 객체 배열 : Array_Column 함수는 일반적으로 연관 배열에 사용되지만 객체 배열에도 사용할 수 있습니다. 배열의 요소가 객체 인 경우 array_column은 해당 값을 속성 이름으로 추출합니다.

  2. NULL 값 처리 : 배열의 객체에 지정된 속성이없는 경우 array_column은 결과에서 NULL을 반환합니다. NULL 값 처리에주의를 기울여야 할 때 프로그램이 특정 속성이 없기 때문에 프로그램이 오류를 일으키지 않도록해야합니다.

  3. 성능 문제 : 매우 큰 배열의 경우 array_columnarray_map 의 조합으로 인해 성능 문제가 발생할 수 있습니다. 불필요한 배열 트래버스를 피하기 위해 코드 최적화를 고려할 수 있습니다.

  4. URL 교체 : URL에서 도메인 이름을 교체 할 때 Preg_replace를 사용하여 도메인 이름 부분 만 교체했는지 확인했습니다. 이 접근법은 매우 유연하지만 교체 오류를 피하기 위해 정규 표현식의 정확성을 보장해야합니다.