현재 위치: > 최신 기사 목록> 인터뷰 질문 : Array_flip ()를 사용하여 배열 값이 고유한지 확인하는 방법은 무엇입니까?

인터뷰 질문 : Array_flip ()를 사용하여 배열 값이 고유한지 확인하는 방법은 무엇입니까?

M66 2025-06-03

php에서 array_flip ()는 배열에서 키와 값을 신디케이트 할 수있는 매우 실용적인 배열 함수입니다. 이 기능은 배열을 판단하는 데 영리하게 사용될 수 있습니다.

기능 소개

 array array_flip(array $array)

이 함수는 새 배열을 반환하여 원래 배열의 키를 으로, 값을 키로 돌립니다. 그러나 원래 배열에 중복 값이있는 경우 Array_flip ()는 이전 키를 덮어 쓰고 마지막 키 만 유지됩니다.

따라서 원래 배열의 길이와 뒤집힌 배열을 비교하여 중복 값이 ​​있는지 판단 할 수 있습니다. 둘의 길이가 일치하지 않으면 원래 배열의 값이 고유하지 않음을 의미합니다.

샘플 코드

 function isArrayValuesUnique(array $arr): bool {
    $flipped = array_flip($arr);
    return count($arr) === count($flipped);
}

// 테스트 사례
$uniqueArray = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
$nonUniqueArray = ['a' => 'apple', 'b' => 'banana', 'c' => 'apple'];

echo "고유 한 배열 테스트 결과:";
echo isArrayValuesUnique($uniqueArray) ? '유일한 사람입니다' : '복제가 있습니다';
echo "\n";

echo "非고유 한 배열 테스트 결과:";
echo isArrayValuesUnique($nonUniqueArray) ? '유일한 사람입니다' : '복제가 있습니다';

산출:

 고유 한 배열 테스트 결과:유일한 사람입니다
非고유 한 배열 테스트 결과:복제가 있습니다

응용 프로그램 시나리오의 예

사용자 등록 시스템이 있고 사용자가 입력 한 여러 필드 (예 : 이메일, 사용자 이름)에 중복 값이 ​​있는지 확인해야한다고 가정합니다. 이 방법을 사용하여 신속하게 판단 할 수 있습니다.

 $userInputs = [
    'email1' => 'user1@m66.net',
    'email2' => 'user2@m66.net',
    'email3' => 'user1@m66.net', // 반복하다
];

if (!isArrayValuesUnique($userInputs)) {
    echo "存在반복하다的用户信息,확인하세요!";
} else {
    echo "모든 사용자 정보는 고유합니다,계속 처리하십시오。";
}

요약

Array_flip ()를 사용하여 배열 값이 고유한지 여부를 결정하는 것은 간결하고 효율적인 기술입니다. 핵심 원칙은 PHP의 배열 키의 독창성 에 있습니다. 반복 값이 발생하면 플립 프로세스 중에 자동으로 중복 제거됩니다. 길이 만 비교하면됩니다.

이 방법은 1 차원 배열의 가치 고유성을 판단하는 데 적합하며 인터뷰 나 실제 개발에서 마스터 할 가치가있는 팁입니다.