>  기사  >  백엔드 개발  >  정수 콘텐츠에 대한 PHP 배열을 효과적으로 검증하는 방법은 무엇입니까?

정수 콘텐츠에 대한 PHP 배열을 효과적으로 검증하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-17 13:53:29260검색

How to Validate PHP Arrays for Integer Content Effectively?

정수 콘텐츠에 대한 효율적인 배열 유효성 검사

PHP에서는 배열에 정수만 포함되어 있는지 여부를 확인하는 방법이 다양한 방법으로 가능합니다. 수동 반복 및 조건부 확인이 실행 가능한 옵션이지만 기본 PHP 기능을 활용하는 보다 간결한 솔루션이 있습니다.

array_filter를 사용한 필터링

array_filter 함수는 이 작업에 편리하고 효율적인 방법을 제공합니다. 제공된 콜백 함수를 기반으로 배열을 필터링하여 조건을 충족하는 요소만 포함된 새 배열을 반환합니다. 우리의 경우 내장 is_int 함수를 콜백으로 사용하여 정수 요소를 분리할 수 있습니다.

<code class="php">$only_integers       === array_filter($only_integers,       'is_int'); // true
$letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>

고차 함수를 사용한 추상화

코드 가독성과 재사용성을 높이기 위해 다음과 같이 합니다. 유효성 검사 프로세스를 일반화하는 도우미 함수를 정의할 수 있습니다. 이러한 함수는 함수를 인수로 작동하는 고차 함수를 활용하여 더 큰 유연성을 제공합니다.

<code class="php">// Check if all array elements pass the predicate
function all($elems, $predicate) {
  foreach ($elems as $elem) {
    if (!call_user_func($predicate, $elem)) {
      return false;
    }
  }

  return true;
}

// Check if any array element passes the predicate
function any($elems, $predicate) {
  foreach ($elems as $elem) {
    if (call_user_func($predicate, $elem)) {
      return true;
    }
  }

  return false;
}</code>

이러한 도우미를 사용하면 원래 유효성 검사가 간결하고 선언적인 표현이 됩니다.

<code class="php">all($only_integers,       'is_int'); // true
any($letters_and_numbers, 'is_int'); // false</code>

간소화된 호출

검증 프로세스를 더욱 단순화하기 위해 배열을 허용하고 부울 플래그를 반환하는 사용자 정의 함수 내에 도우미를 캡슐화할 수 있습니다.

<code class="php">function array_has_only_ints($array) {
  return all($array, 'is_int');
}</code>

이 함수는 con

위 내용은 정수 콘텐츠에 대한 PHP 배열을 효과적으로 검증하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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