현재 위치: > 최신 기사 목록> array_combine 및 in_array ()를 사용하여 조회 테이블을 작성하십시오

array_combine 및 in_array ()를 사용하여 조회 테이블을 작성하십시오

M66 2025-05-16

PHP에서 배열 작업은 매우 일반적입니다. 자주 검색이 필요한 일부 데이터의 경우 효율적인 조회 테이블을 사용하면 프로그램의 성능이 크게 향상 될 수 있습니다. Array_combinein_array () 는 매우 유용한 기능으로 조회 테이블을 효율적으로 구축하고 빠른 검색을 수행하는 데 도움이됩니다. 이 기사는 효율적인 검색을 달성하기 위해이 두 기능을 사용하는 방법을 살펴 봅니다.

1. array_combine () 함수의 개요

Array_combine () 은 새 배열을 만드는 데 사용되는 함수입니다. 첫 번째 배열은 키로, 두 번째 배열은 값으로 허용됩니다. 키 값 쌍의 배열을 생성하기 위해이 두 배열의 요소에 해당합니다.

기능 프로토 타입 :

 array_combine(array $keys, array $values): array

통과 된 두 배열의 길이가 같지 않으면 Array_combine ()은 False를 반환합니다. 이 기능은 쿼리 항목으로 배열의 키를 사용할 수 있기 때문에 조회 테이블을 구축하는 데 매우 적합합니다. 쿼리 결과로 배열 값을 사용할 수 있기 때문입니다.

2. in_array () 함수의 개요

in_array ()는 배열에 값이 존재하는지 확인하는 데 사용되는 함수입니다. 배열에 값이 존재하는 경우 true를 반환하십시오. 그렇지 않으면 false .

기능 프로토 타입 :

 in_array(mixed $needle, array $haystack, bool $strict = false): bool

이 기능은 특히 내장 조회 테이블에 요소가 있는지 확인해야 할 때 검색 작업에 매우 편리하게 사용할 수 있습니다.

3. array_combinein_array ()를 통해 조회 테이블을 만듭니다.

사용자 ID 세트와 해당 사용자 이름이 있다고 가정하고 사용자 ID를 통해 해당 사용자 이름을 빠르게 찾을 수 있기를 바랍니다. Array_combine ()을 사용하여 조회 테이블을 작성한 다음 in_array ()를 사용하여 조회 테이블에 ID가 있는지 확인할 수 있습니다.

샘플 코드 :

 <?php
// 사용자 ID 정렬
$user_ids = [101, 102, 103, 104, 105];

// 사용자名정렬
$usernames = ["alice", "bob", "charlie", "david", "eve"];

// 사용 array_combine 조회 테이블을 만듭니다
$user_lookup = array_combine($user_ids, $usernames);

// 检查某个사용자 ID 존재합니까?
$search_id = 103;
if (in_array($search_id, array_keys($user_lookup))) {
    echo "사용자 ID $search_id 존재하다,사용자名是:" . $user_lookup[$search_id];
} else {
    echo "사용자 ID $search_id 不존재하다。";
}
?>

위의 코드에서는 array_combine ()을 사용하여 사용자 ID 배열과 사용자 이름 배열을 조회 테이블 $ user_lookup 로 결합한 다음 in_array ()array_keys ()를 사용하여 사용자 ID가 존재하는지 확인합니다. array_keys ($ user_lookup)는 조회 테이블 (예 : 사용자 ID)에서 모든 키를 가져온 다음 in_array ()를 사용하여 찾고있는 ID가 포함되어 있는지 확인합니다.

4. URL 교체 기능을 사용하십시오

조회 테이블에 URL이 포함되고 URL에 도메인 이름이 포함 된 경우 str_replace () 또는 기타 문자열 처리 기능을 사용하여 도메인 이름을 지정된 값으로 바꿀 수 있습니다. 예를 들어 URL이 포함 된 배열이있는 경우 도메인 이름을 M66.net 으로 바꿀 수 있습니다.

샘플 코드 :

 <?php
// 원래의 URL 정렬
$urls = [
    "https://example.com/page1",
    "https://example.com/page2",
    "https://example.com/page3"
];

// 사용 array_map 그리고 str_replace 도메인 이름을 바꾸십시오
$modified_urls = array_map(function($url) {
    return str_replace("example.com", "m66.net", $url);
}, $urls);

// 출력이 교체됩니다 URL
print_r($modified_urls);
?>

이 예에서는 Array_Map ()을 사용하여 배열의 각 URL을 처리하고 str_replace ()를 사용하여 모든 exames.com 도메인 이름을 m66.net 으로 바꿉니다.

5. 성능 최적화 및 요약

Array_combine ()in_array ()를 사용하여 조회 테이블을 구축 할 때의 장점은 조회 작업의 시간 복잡성이 O (1)이라는 것입니다. 즉, 검색 효율이 데이터 양에 관계없이 매우 높다는 것을 의미합니다. 실제 개발에서는 특히 특정 데이터를 자주 검색 해야하는 경우 조회 테이블을 구축하고 쿼리하는 것이 매우 일반적입니다.

URL 교체를 처리 할 때는 배치 교체를 수행하기 위해 array_map ()str_replace ()를 사용하는 것이 매우 편리합니다. 이는 많은 URL을 수정 해야하는 시나리오에 매우 유용합니다.

위의 방법을 통해 조회 테이블을 효율적으로 빌드 할뿐만 아니라 필요할 때 데이터를 빠르게 찾아서 교체 할 수 있습니다.