>  기사  >  백엔드 개발  >  PHP에서 배열의 다른 요소 수를 얻는 방법

PHP에서 배열의 다른 요소 수를 얻는 방법

PHPz
PHPz원래의
2023-04-26 10:21:54633검색

PHP 개발에서 배열 연산은 매우 일반적인 작업입니다. 그중에서도 배열의 다양한 요소 수를 얻는 것도 매우 실용적입니다. 이 기사에서는 배열의 다양한 요소 수를 얻는 여러 가지 방법을 소개합니다.

1. array_count_values ​​​​함수를 사용하세요

array_count_values ​​​​함수는 배열에서 모든 값의 발생 횟수를 계산하는 데 사용되는 PHP의 함수입니다. 반환 값은 연관 배열이고, 키 값은 배열의 요소 값이며, 해당 요소 값은 원래 배열에 요소 값이 나타나는 횟수입니다. 따라서 이 함수의 반환 값을 사용하여 배열의 다양한 요소 수를 가져올 수 있습니다.

예제는 다음과 같습니다.

$arr = array(1, 2, 2, 3, 3, 3);
$values = array_count_values($arr);
$count = count($values); //不同元素个数

위 코드의 출력 결과는 3입니다. 즉, 배열의 서로 다른 요소 수는 3입니다.

2. array_unique 함수 사용

array_unique 함수는 배열에서 중복된 요소를 제거하는 데 사용되는 PHP 함수입니다. 반환 값은 중복 요소를 제거한 후의 배열입니다. 따라서 먼저 이 함수를 호출한 다음 count 함수를 호출하여 다양한 요소 수를 가져옴으로써 중복 제거된 배열을 얻을 수 있습니다.

예제는 다음과 같습니다.

$arr = array(1, 2, 2, 3, 3, 3);
$unique_arr = array_unique($arr);
$count = count($unique_arr); //不同元素个数

위 코드의 출력 결과는 3입니다. 즉, 배열의 서로 다른 요소 수는 3입니다.

3. 루프를 사용하여 배열 탐색

배열을 반복하는 것도 배열의 다양한 요소 수를 얻는 방법입니다. 방문한 요소를 기록하기 위해 배열을 정의할 수 있으며, 배열을 순회할 때 현재 요소가 방문되었는지 확인하고, 방문했다면 건너뛰고, 그렇지 않으면 방문한 배열에 추가하고, 다른 요소에 1을 추가할 수 있습니다. 카운터 .

예제는 다음과 같습니다.

$arr = array(1, 2, 2, 3, 3, 3);
$visited_arr = array();
$count = 0; //不同元素个数计数器
foreach ($arr as $value) {
    if (!in_array($value, $visited_arr)) { // 判断当前元素是否已经被访问过
        $visited_arr[] = $value;
        $count++;
    }
}

위 코드의 출력 결과는 3입니다. 즉, 배열의 서로 다른 요소 수는 3입니다.

4. array_diff 함수를 사용하세요

array_diff 함수는 PHP에서 배열 차이를 계산하는 함수입니다. 따라서 이 함수를 사용하여 배열의 다양한 요소 수를 얻을 수 있습니다. 구체적인 방법은 다음과 같습니다. 먼저 원래 배열의 중복을 제거한 다음 원래 배열로 차이 세트를 수행하여 중복 요소를 제거한 다음 count 함수를 호출하여 다른 요소의 수를 얻습니다.

예제는 다음과 같습니다.

$arr = array(1, 2, 2, 3, 3, 3);
$unique_arr = array_unique($arr);
$diff_arr = array_diff($arr, $unique_arr);
$count = count($diff_arr); //不同元素个数

위 코드의 출력 결과는 3입니다. 즉, 배열의 서로 다른 요소 수는 3입니다.

요약하자면, 배열의 다양한 요소 수를 얻는 여러 가지 방법을 소개했습니다. 실제 개발에서는 특정 상황에 따라 가장 적합한 방법을 선택할 수 있습니다.

위 내용은 PHP에서 배열의 다른 요소 수를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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