PHP에서 배열은 매우 일반적인 데이터 구조입니다. 배열의 요소 위치 찾기, 배열의 특정 요소가 차지하는 위치 범위 찾기 등 배열의 특정 값을 기반으로 쿼리를 수행해야 하는 경우가 종종 있습니다. 이번 글에서는 배열을 기반으로 쿼리하는 방법을 소개하겠습니다.
1. 배열에서 요소의 위치 찾기
PHP에서는 array_search() 함수를 사용하여 배열에서 지정된 요소의 위치를 찾을 수 있습니다. 이 함수는 찾을 요소와 배열이라는 두 가지 매개변수를 받습니다. 지정된 요소가 발견되면 배열에 있는 요소의 키 이름이 반환되고, 그렇지 않으면 false가 반환됩니다.
예를 들어, $numbers = array(1,2,3,4,5,6,7,8,9); 배열이 있고 배열에서 숫자 5의 위치를 찾으려고 합니다. 다음 코드를 사용할 수 있습니다:
$key = array_search(5, $numbers);
echo $key; // 출력 4
2. 배열에서 지정된 요소의 모든 위치를 찾습니다.
중복된 요소가 있는 경우 배열에서 배열에 있는 요소의 모든 위치를 찾아야 할 수도 있습니다. PHP는 배열에 지정된 요소의 모든 키를 반환할 수 있는 array_keys() 함수를 제공합니다.
다음은 $fruits = array("apple","banana","orange","apple","orange","grape"); 배열이 있다고 가정하고 모든 " orange" "배열의 위치에서 다음 코드를 사용할 수 있습니다:
$keys = array_keys($fruits, "orange");
print_r($keys) // 출력 배열( [0] => ; 2 [1] => 4)
이 코드는 배열에 "orange"라는 키 이름이 모두 포함된 배열을 출력합니다.
3. 2차원 배열에서 요소의 위치 찾기
PHP는 1차원 배열 외에도 2차원 배열도 지원합니다. 2차원 배열에서 요소의 위치를 찾으려면 다른 방법을 사용해야 합니다. 전체 배열을 반복하여 각 요소가 요구 사항을 충족하는지 확인할 수 있습니다. 다음은 샘플 코드입니다:
$users = array(
array("name" => "Tom", "age" => 20),
array("name" => "Jerry", " age " => 25),
array("name" => "Mike", "age" => 30)
);
function findUser($users, $name) {
foreach ($users as $ key => $user) {
if ($user["name"] == $name) { return $key; }
}
return false;
}
$key = findUser($users, "Jerry");
echo $key; // 출력 1
이 코드는 array "Jerry"라는 요소의 키 이름입니다.
4. 2차원 배열에서 조건에 맞는 모든 요소 찾기
2차원 배열에서 조건에 맞는 모든 요소를 찾으려면 array_filter() 함수를 사용할 수 있습니다. 이 함수는 필터링할 배열과 콜백 함수라는 두 가지 매개변수를 받습니다. 콜백 함수는 현재 요소가 요구 사항을 충족하는지 여부를 나타내기 위해 true 또는 false를 반환해야 합니다. 다음은 샘플 코드입니다:
$users = array(
array("name" => "Tom", "age" => 20),
array("name" => "Jerry", " age " => 25),
array("name" => "Mike", "age" => 30),
array("name" => "Alice", "age" => 20 )
);
function findUsers($users, $age) {
return array_filter($users, function($user) use ($age) {
return $user["age"] == $age;
});
}
$matchingUsers = findUsers($ users , 20);
print_r($matchingUsers);
이 코드는 20세의 모든 요소를 출력합니다.
요약
PHP에서는 일부 내장 함수를 사용하여 배열 기반 쿼리를 수행할 수 있습니다. array_search(), array_keys() 및 array_filter()는 가장 일반적으로 사용되는 함수이며 대부분의 상황의 요구 사항을 충족할 수 있습니다. 다차원 배열에서 요소를 찾아야 하는 경우 이를 달성하기 위해 일부 순회 코드를 직접 작성해야 할 수도 있습니다.
위 내용은 PHP에서 배열을 기반으로 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!