현재 위치: > 최신 기사 목록> array_diff_ukey ()를 통해 블랙리스트 필터링 메커니즘을 구현하는 방법

array_diff_ukey ()를 통해 블랙리스트 필터링 메커니즘을 구현하는 방법

M66 2025-05-14

블랙리스트 필터링은 개발 중 일반적인 요구 사항입니다. 사용자 액세스 데이터가 있다고 가정하고 일부 블랙리스트 사용자를 제외하거나 특정 조건에 따라 부적절한 액세스를 필터링하려고합니다. 현재 array_diff_ukey () 함수는 유용 할 수 있습니다. 배열의 주요 이름을 기반으로 비교할 수 있으므로 블랙리스트 필터링 메커니즘을 구현할 수 있습니다.

array_diff_ukey () 함수는 키 이름을 기반으로 두 배열을 비교하고 두 배열의 다른 부분을 반환하는 PHP의 내장 함수입니다. 기본 구문은 다음과 같습니다.

 array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array

매개 변수 설명 :

  • $ array1 : 첫 번째 배열.

  • $ array2 : 두 번째 배열.

  • $ key_compare_func : 두 배열의 키 이름을 비교하고 두 키 이름이 동일했는지 여부를 나타내는 부울 값을 반환하는 콜백 함수.

실제 블랙리스트 필터링 응용 프로그램 에서이 기능을 사용하여 블랙리스트에서 사용자를 필터링 할 수 있습니다. 다음으로 예제를 사용하여 array_diff_ukey ()를 사용하여 블랙리스트 필터링 메커니즘을 구현하는 방법을 자세히 보여줍니다.

샘플 코드 :

두 개의 배열이 있다고 가정 해 봅시다. 하나는 사용자 액세스 레코드 배열이고 다른 하나는 블랙리스트 배열이며 블랙리스트에서 사용자를 필터링하려고합니다.

 <?php
// 사용자 액세스 레코드 배열,사용자를위한 키ID,값은 사용자의 액세스 레코드입니다
$accessLogs = [
    1 => "액세스 기록1",
    2 => "액세스 기록2",
    3 => "액세스 기록3",
    4 => "액세스 기록4",
    5 => "액세스 기록5"
];

// 블랙리스트 배열,키는 블랙리스트 사용자입니다ID
$blacklist = [
    2 => "블랙리스트 사용자",
    4 => "블랙리스트 사용자"
];

// 사용자 정의 키 비교 함수,두 키 이름이 동일한지 결정하십시오
function compare_keys($key1, $key2) {
    return $key1 - $key2;
}

// 사용 array_diff_ukey 함수는 블랙리스트에서 사용자를 필터링합니다
$filteredLogs = array_diff_ukey($accessLogs, $blacklist, 'compare_keys');

// 输出过滤后的액세스 기록
print_r($filteredLogs);
?>

코드 구문 분석 :

  1. 먼저 두 개의 배열을 정의하고 $ accessLogs 는 사용자 액세스 레코드가 포함 된 배열이며 $ BlackList는 블랙리스트 배열입니다. 두 배열의 키는 사용자 ID입니다.

  2. 다음으로, 우리는 Compare_keys 라는 함수를 정의하여 두 개의 키 이름이 동일인지 비교합니다. 이 함수는 Array_Diff_ukey () 함수의 콜백 매개 변수에 사용되며 부울 값을 반환하여 두 키가 동일인지 확인합니다.

  3. 그런 다음 array_diff_ukey () 함수를 사용하여 블랙리스트 어레이에서 사용자를 필터링하고 블랙리스트에없는 사용자가 포함 된 새 필터링 된 배열 $ FilteredLog를 반환하십시오.

  4. 마지막으로 필터링 된 결과는 print_r () 를 통해 출력됩니다.

실행 결과 :

 Array
(
    [1] => 액세스 기록1
    [3] => 액세스 기록3
    [5] => 액세스 기록5
)

위에서 볼 수 있듯이 블랙리스트 (IDS 2 및 4)의 사용자는 성공적으로 필터링되었으며 나머지 액세스 레코드에는 비 블랙리스트 사용자 만 포함됩니다.

응용 프로그램 시나리오 :

이 방법은 다음과 같은 여러 시나리오에서 사용할 수 있습니다.

  • 웹 사이트 사용자 액세스 로그 필터링 블랙리스트 사용자의 액세스를 피하십시오.

  • 시스템이 합법적 인 요청 만 수신되도록 특정 무단 IP 주소를 필터링하십시오.

  • 사용자 관리 시스템에서 일부 장애인 사용자는 사용 가능한 사용자 목록에서 제거됩니다.

요약 :

PHP의 Array_diff_ukey () 함수를 통해 블랙리스트 필터링 메커니즘을 효율적으로 구현할 수 있습니다. 맞춤형 키 비교 함수와 결합하여 배열의 주요 이름을 유연하게 비교하여 사용자 또는 데이터의 정확한 필터링을 달성 할 수 있습니다. 실제 개발에서 유사한 작업이 필요한 경우 Array_diff_ukey () 함수는 의심 할 여지없이 매우 실용적인 도구입니다.