PHP 프로그래밍에서는 특정 값이 배열에 있는지 확인해야 하는 경우가 종종 있습니다. 이는 일반적으로 in_array() 함수를 사용하여 수행할 수 있습니다. 하지만 때로는 값이 배열에 없는지 확인해야 할 경우가 있는데 어떻게 해야 할까요?
이 글에서는 값이 배열에 없는지 확인하기 위해 일반적으로 사용되는 세 가지 방법과 그 장점, 단점 및 적용 가능한 시나리오를 소개합니다. 먼저 in_array() 함수를 사용하는 방법을 살펴보겠습니다.
in_array($needle, $haystack);
여기서 $needle은 찾을 값을 나타내고 $haystack은 검색할 배열을 나타냅니다. $needle이 $haystack에 있으면 이 함수는 true를 반환하고, 그렇지 않으면 false를 반환합니다.
그런 다음 값이 배열에 없는지 확인하려면 아래와 같이 in_array() 함수의 결과 앞에 부정 연산만 추가하면 됩니다.
!in_array($needle, $haystack);
이 방법으로 $needle이 $haystack 에 없습니다. 그러나 이 방법에는 단점이 있습니다. 즉, $needle이 $haystack에 있을 때 함수는 여전히 false를 반환하고 정답을 얻으려면 결과를 다시 반전시켜야 합니다.
위 메서드는 다음 형식으로 다시 작성할 수도 있습니다.
array_search($needle, $haystack) === false;
array_search() 함수는 배열에서 값을 찾는 데 사용됩니다. 발견되면 배열에 있는 값의 키가 반환되고, 그렇지 않으면 false입니다. 돌아왔다. 따라서 $needle이 $haystack에 없는지 확인하려면 array_search($needle, $haystack)의 반환 값이 false인지 확인하면 됩니다.
그러나 이 방법에도 단점이 있습니다. 즉, $needle이 $haystack에 있는 경우 함수는 true를 반환하는 대신 배열에 있는 요소의 키를 반환합니다. 따라서 정답을 얻으려면 결과를 다시 비교해야 합니다.
마지막으로 PHP 연산자를 사용하는 더 간단하고 효과적인 방법을 소개합니다! = 및 !==, 아래와 같이 표시됩니다.
!($value != array_search($needle, $haystack));
이 방법의 원리는 $needle이 $haystack에 있으면 array_search($needle, $haystack)는 배열에 있는 요소의 키를 반환하고 $value는 키와 같고, 그렇지 않으면 $value는 false입니다. 따라서 $value가 array_search($needle, $haystack)과 같은지 확인한 후 반전 연산을 수행하면 정답을 얻을 수 있습니다.
간단히 말하면 PHP 프로그래밍에서는 위의 세 가지 방법을 사용하여 값이 배열에 없는지 확인할 수 있습니다. 적절한 방법을 선택할 때는 구체적인 상황을 고려하고 기능을 구현하는 데 가장 적합한 방법을 선택해야 합니다.
위 내용은 PHP에서 값이 배열에 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!