PHP에서 Array_Column 과 in_Array는 일반적으로 사용되는 두 가지 함수이며, 배열에서 열을 추출하고 배열에 값이 존재하는지 확인하는 데 사용됩니다. 이 두 함수를 조합하여 사용하면 다차원 배열의 값이 존재하는지 효과적으로 쿼리 할 수 있습니다.
Array_Column 함수는 다차원 배열에서 열 값을 추출하고 해당 열의 값을 포함하는 새 배열을 반환하는 데 사용됩니다. 이 기능의 기본 사용은 다음과 같습니다.
array_column($array, $column_key, $index_key);
$ 배열 : 입력 다차원 배열.
$ column_key : 추출하려는 열의 열 이름 또는 색인.
$ index_key (선택 사항) : 반환 된 배열을 인덱스로 키우려면이 매개 변수를 전달할 수 있습니다.
in_array 함수는 배열에 값이 존재하는지 확인하는 데 사용됩니다. 값이 존재하면 참으로 반환됩니다. 그렇지 않으면 False를 반환합니다. 사용량은 다음과 같습니다.
in_array($needle, $haystack, $strict);
$ 바늘 : 찾을 수있는 값.
$ Haystack : 검색중인 배열.
$ strict (선택 사항) : true 로 설정되면 in_array는 엄격한 비교를 수행합니다 (즉, 값이 존재하는지뿐만 아니라 데이터 유형이 일치하는 경우에도 확인하십시오).
우리는 Array_Column 과 in_Array를 사용하여 다차원 배열의 특정 열에 값이 존재하는지 효율적으로 찾습니다. 예를 들어, 여러 사용자 정보 배열이 있고 사용자 이름이 존재하는지 확인하려고합니다.
다음 배열이 있다고 가정합니다.
$users = [
['id' => 1, 'name' => 'Tom', 'email' => 'tom@m66.net'],
['id' => 2, 'name' => 'Jerry', 'email' => 'jerry@m66.net'],
['id' => 3, 'name' => 'Spike', 'email' => 'spike@m66.net'],
];
사용자 이름 Jerry가 배열에 존재하는지 확인하고 싶습니다. 다음 단계를 따를 수 있습니다.
array_column을 사용하여 이름 열을 추출하십시오.
in_array를 사용하여 추출 된 배열에 사용자 이름이 존재하는지 확인하십시오.
$names = array_column($users, 'name'); // 모든 사용자 이름을 추출하십시오
$user_exists = in_array('Jerry', $names); // 조사하다 'Jerry' 존재합니까?
if ($user_exists) {
echo "사용자 Jerry 존재하다";
} else {
echo "사용자 Jerry 不존재하다";
}
때로는 간단한 값을 쿼리하는 것이 아니라 여러 조건에 따라 확인해야합니다. array_column 과 in_array를 결합하면 특정 열에서 특정 값을 찾을 수 있습니다. 이 방법은 대형 데이터 세트를 처리 할 때 매우 효율적이며 다차원 배열을 수동으로 통과하는 지루한 작동을 피합니다.
예를 들어, 특정 이메일 주소가 있는지 확인하려면 다음과 같습니다.
$emails = array_column($users, 'email'); // 提取所有사용자的우편
$email_exists = in_array('jerry@m66.net', $emails); // 조사하다우편존재합니까?
if ($email_exists) {
echo "우편 jerry@m66.net 존재하다";
} else {
echo "우편 jerry@m66.net 不존재하다";
}
PHP에서 Array_Column 및 In_array는 특히 더 큰 배열을 다룰 때 비교적 효율적인 기능입니다. 다차원 배열을 검색하기 위해 in_array를 직접 사용하면 전체 배열이 덜 효율적입니다. 먼저 Array_Column을 사용하여 대상 열을 추출한 다음 검색을 위해 in_array를 사용하면 불필요한 비교 작업을 줄이고 성능을 향상시킬 수 있습니다.
Array_Column 및 in_Array를 조합하여 사용하는 것은 매우 효율적인 방법이며, 특히 다차원 배열에 값이 존재하는지 여부를 찾는 데 적합합니다. 먼저 필요한 열을 추출한 다음 in_array를 사용하여 대상 값이 존재하는지 확인하면 쿼리 효율을 향상시키고 코드의 복잡성을 줄일 수 있습니다. 이 접근법은 더 큰 데이터 세트를 처리 할 때 성능을 크게 향상시킬 수 있습니다.