>  기사  >  백엔드 개발  >  PHP의 배열에서 동일한 데이터 유형을 계산하는 방법

PHP의 배열에서 동일한 데이터 유형을 계산하는 방법

PHPz
PHPz원래의
2023-04-24 15:50:43452검색

PHP에서는 배열에 있는 동일한 데이터 유형의 수를 계산하는 것이 매우 일반적인 요구 사항입니다. 예를 들어, 배열에서 정수 유형 요소의 수를 세거나 배열에서 문자열 유형 요소의 발생 횟수를 계산합니다. 이 기사에서는 PHP에서 동일한 데이터 유형의 통계 배열을 구현하는 방법을 소개합니다.

방법 1: count 및 is_numeric 함수 사용

먼저 PHP에 내장된 count 함수를 사용하여 배열 길이를 얻은 다음 is_numeric 함수를 사용하여 요소가 숫자 유형인지 확인할 수 있습니다. 코드는 다음과 같습니다.

function countNumerics($arr) {
    $count = 0;
    foreach ($arr as $el) {
        if (is_numeric($el)) {
            $count++;
        }
    }
    return $count;
}

위 코드는 foreach 루프를 사용하여 배열의 각 요소를 순회하고 is_numeric 함수를 사용하여 요소가 숫자 유형인지 확인합니다. 그렇다면 $count 변수의 값을 늘리십시오. 마지막으로 $count 변수를 반환합니다. 이 함수는 숫자 유형의 요소 개수만 계산할 수 있습니다. 다른 유형의 요소 개수만 계산하려면 is_numeric 함수를 다른 유형에 대한 판단 함수로 수정해야 합니다.

방법 2: array_filter 및 gettype 함수 사용

또 다른 방법은 PHP에서 array_filter 함수와 gettype 함수를 사용하는 것입니다. array_filter 함수는 배열의 요소를 필터링하는 데 사용할 수 있으며 gettype 함수는 요소 유형을 얻을 수 있습니다. 코드는 다음과 같습니다.

function countType($arr, $type) {
    return count(array_filter($arr, function ($el) use ($type) {
        return gettype($el) == $type;
    }));
}

위 코드는 먼저 array_filter 함수를 호출하여 $type 유형의 모든 요소를 ​​필터링한 다음 count 함수를 사용하여 필터링된 배열 길이를 얻습니다.

방법 3: array_reduce 및 gettype 함수 사용

또 다른 방법은 array_reduce 함수와 gettype 함수를 사용하는 것입니다. array_reduce 함수를 사용하면 배열의 모든 요소에 대해 콜백을 실행하여 해당 요소를 단일 값으로 줄일 수 있습니다. 코드는 다음과 같습니다.

function countType($arr, $type) {
    return array_reduce($arr, function ($count, $el) use ($type) {
        return $count + (gettype($el) == $type);
    }, 0);
}

위 코드는 array_reduce 함수를 사용하여 배열의 각 요소를 반복하고 요소 유형이 $type인 경우 $count 변수에 1을 추가합니다. 마지막으로 $count 변수를 반환합니다.

요약

위는 PHP에서 동일한 데이터 유형의 배열을 계산하는 세 가지 방법입니다. 이 세 가지 방법은 각각 다르며 어떤 방법을 선택하는지는 특정 요구 사항과 코딩 스타일에 따라 다릅니다. 한 데이터 유형의 요소 수만 계산해야 하는 경우 방법 1이 간단한 솔루션입니다. 여러 유형을 계산해야 하거나 보다 명확한 코드 구조를 원하는 경우 방법 2 또는 3을 선택할 수 있습니다.

위 내용은 PHP의 배열에서 동일한 데이터 유형을 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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