현재 위치: > 최신 기사 목록> array_diff_key ()를 사용하여 두 객체의 속성의 차이점을 빠르게 비교하십시오.

array_diff_key ()를 사용하여 두 객체의 속성의 차이점을 빠르게 비교하십시오.

M66 2025-06-06

php에서 array_diff_key ()는 두 배열이나 객체의 주요 차이를 비교하는 데 사용할 수있는 매우 유용한 기능입니다. 객체가 두 개 있고 속성 차이를 빠르게 비교하려면 객체를 배열로 변환 한 다음 Array_Diff_Key () 함수를 통해 구현할 수 있습니다. 다음은 예제를 사용하여 array_diff_key ()를 사용하여 객체의 속성 차이를 비교하는 방법을 자세히 설명합니다.

1. array_diff_key () 함수를 이해하십시오

Array_Diff_Key () 함수는 두 배열의 키를 비교하고 첫 번째 배열에 존재하지만 두 번째 어레이에는 존재하지 않는 모든 키를 포함하는 배열을 반환하는 데 사용됩니다.

함수 정의 :

 array_diff_key(array $array1, array $array2): array
  • $ array1 : 첫 번째 배열.

  • $ array2 : 두 번째 배열.

$ array1 에서 키를 포함하는 배열을 반환하지만 $ array2 는 아닙니다.

2. 객체 속성 차이를 비교하십시오

PHP 객체는 클래스로 정의되므로 배열과 같은 주요 이름이 없습니다. Array_Diff_Key ()를 사용하여 두 객체 간의 속성 차이를 비교하려면 먼저 객체를 배열로 변환해야합니다. 이 변환은 get_object_vars () 함수를 사용하여 달성 할 수 있습니다.

 <?php
class Person {
    public $name;
    public $age;
    public $email;

    public function __construct($name, $age, $email) {
        $this->name = $name;
        $this->age = $age;
        $this->email = $email;
    }
}

$obj1 = new Person("Alice", 25, "alice@m66.net");
$obj2 = new Person("Bob", 30, "bob@m66.net");

$array1 = get_object_vars($obj1);
$array2 = get_object_vars($obj2);

// 사용 array_diff_key 객체의 속성 차이를 비교하십시오
$diff = array_diff_key($array1, $array2);

// 출력 차이
print_r($diff);
?>

산출:

 Array
(
    [name] => Alice
    [age] => 25
    [email] => alice@m66.net
)

3. 코드를 설명하십시오

  1. 정의 수업 담당자 : 이름 , 나이이메일의 세 가지 공개 속성이 포함 된 개인 클래스를 정의합니다.

  2. 개체 생성 : 두 사람 객체 OBJ1OBJ2 는 각각 다른 인력 정보를 나타냅니다.

  3. 배열로 변환 :이 두 객체를 get_object_vars () 함수를 통해 연관 배열로 변환하십시오.

  4. 비교 차이 : Array_Diff_Key ()를 사용하여 두 배열의 주요 차이점을 비교하십시오. 이 시점에서 Array_Diff_Key ()$ array1 이지만 $ array2 에 속하지 않은 속성 키를 반환합니다.

4. 결과 분석

이 예에서는 OBJ1OBJ2 의 속성이 정확히 동일하므로 Array_Diff_Key ()는 빈 배열을 반환합니다. 실제 비즈니스 요구에 따라 객체의 속성을 조정하여 Array_Diff_Key ()가 다른 속성을 표시 할 수 있습니다.

예를 들어, 이메일 속성이 없도록 OBJ2를 수정한다고 가정합니다.

 $obj2 = new Person("Bob", 30, "");

현재 array_diff_key ()를 실행하면 OBJ1 에는 이메일 속성이 있고 OBJ2는 그렇지 않습니다.

5. 요약

Array_Diff_Key () 는 두 배열이나 객체 간의 주요 차이를 빠르게 비교할 수있는 매우 효과적인 도구입니다. 실제 개발, 특히 사용자 데이터, API 요청 및 기타 시나리오를 처리 할 때 객체 속성의 차이를 찾는 데 매우 편리하게 사용될 수 있습니다. 객체를 배열로 변환하면 Array_Diff_Key ()는 차이를 쉽게 식별 할 수 있습니다.

이 기사가 Array_Diff_Key () 함수를 더 잘 이해하고 사용하여 두 객체 간의 속성 차이를 비교할 수 있기를 바랍니다.