PHP 프로그래밍에서 배열은 일반적으로 사용되는 데이터 구조입니다. 배열에서 특정 요소의 인덱스를 찾아야하는 시나리오가 종종 발생합니다. 다행히도 PHP는 Array_Column 및 Array_Search 와 같은 매우 유용한 기능을 제공하여 이러한 작업을 효율적으로 수행하는 데 도움이됩니다. 이 기사에서는이 두 기능을 사용하여 배열 레코드의 색인을 찾는 방법을 설명합니다.
Array_Column 함수는 다차원 배열에서 특정 열을 추출하기 위해 PHP가 사용하는 도구입니다. 열을 지정하고 열의 모든 값을 추출하며 열의 모든 값이 포함 된 새 배열을 반환 할 수 있습니다.
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ 배열 : 입력 다차원 배열.
$ column_key : 추출 할 열의 키 이름 (배열의 각 요소가 연관 배열 인 경우).
$ index_key : 옵션 매개 변수, 새 배열에서 키를 지정합니다. 제공되지 않으면 반환 된 배열은 원래 배열의 키를 사용합니다.
여러 레코드가있는 배열이 있고 각 레코드가 연관 배열 이며이 레코드에서 ID 열의 모든 값을 추출하려고합니다.
$records = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net']
];
// 사용 array_column 발췌 id 목록
$ids = array_column($records, 'id');
print_r($ids);
출력 결과 :
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Array_Column을 사용하면 배열에서 모든 레코드의 ID 열을 성공적으로 추출했습니다.
Array_Search 함수는 배열에서 값을 검색하고 배열의 값의 인덱스를 반환하는 데 사용됩니다. Array_Column 과 함께 사용하면 특정 레코드의 색인을 찾는 데 도움이 될 수 있습니다.
array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false
$ 바늘 : 우리가 찾고있는 가치.
$ Haystack : 검색 할 배열.
$ strict : 선택한 매개 변수, 엄격한 비교를 수행할지 여부 (기본값은 false , 즉 강력한 비교를 수행 함).
여러 레코드가있는 배열이 있고 이름이 Bob 인 레코드 색인을 찾고 싶다고 가정 해 봅시다.
$records = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net']
];
// 사용 array_column 발췌所有的 name 목록
$names = array_column($records, 'name');
// 찾다 name ~을 위한 'Bob' 색인
$index = array_search('Bob', $names);
echo "Bob 색인是: $index"; // 산출: Bob 색인是: 1
특정 조건에 맞는 완전한 레코드를 찾으려면 먼저 Array_Column을 사용하여 관심있는 열을 추출한 다음 (예 : 이름 열)를 사용하여 Array_Search를 사용하여 해당 열의 값에 해당하는 색인을 찾은 다음이 색인을 사용하여 전체 레코드를 반환합니다.
$records = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net']
];
// 발췌所有 name 목록
$names = array_column($records, 'name');
// 찾다 name ~을 위한 'Charlie' 색인
$index = array_search('Charlie', $names);
// 전체 기록으로 돌아갑니다
if ($index !== false) {
$record = $records[$index];
print_r($record);
}
출력 결과 :
Array
(
[id] => 3
[name] => Charlie
[email] => charlie@m66.net
)
이 예에서는 array_column을 통해 이름 의 모든 값을 추출한 다음 Array_Search를 사용하여 해당 Charlie 의 해당 색인을 찾은 다음 마지막 으로이 인덱스를 통해 전체 레코드를 얻습니다.
위는 Array_Column 및 Array_Search 함수를 사용하여 PHP에서 레코드 인덱스를 찾는 기본 방법입니다. 이 두 기능은 다차원 배열을 처리 할 때 매우 유용한 도구로 검색 작업을 크게 단순화 할 수 있습니다. 복잡한 데이터 구조를 다루는 경우 이러한 방법을 사용해보십시오.
이 기사가 도움이되기를 바랍니다! 궁금한 점이 있거나 추가 지원이 필요한 경우 언제든지 질문하십시오.