>  기사  >  백엔드 개발  >  PHP에서 배열을 기반으로 쿼리하는 방법

PHP에서 배열을 기반으로 쿼리하는 방법

PHPz
PHPz원래의
2023-04-23 16:43:531186검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.