현재 위치: > 최신 기사 목록> 다차원 배열을 지원하는 사용자 정의 통계 기능을 작성하는 방법

다차원 배열을 지원하는 사용자 정의 통계 기능을 작성하는 방법

M66 2025-05-17

PHP 개발에서 우리는 종종 배열에서 요소를 계산해야합니다. 특히 배열이 다차원 배열 일 때 값을 계산하는 방법이 특히 중요합니다. 이 기사에서는 다차원 배열에 대한 값 통계를 지원하는 사용자 정의 PHP 기능을 작성하는 방법을 보여줍니다.

1. 다차원 배열의 기본 정의

다차원 배열은 하나 이상의 배열을 요소로 포함하는 배열입니다. 예를 들어, 2 차원 배열, 각 요소는 배열입니다. 다차원 배열을 통과함으로써보다 복잡한 데이터 통계를 수행 할 수 있습니다.

예를 들어, 다음과 같이 다차원 배열이 있다고 가정합니다.

 $array = [
    ['name' => 'John', 'age' => 28, 'city' => 'New York'],
    ['name' => 'Jane', 'age' => 22, 'city' => 'Los Angeles'],
    ['name' => 'Mike', 'age' => 28, 'city' => 'Chicago'],
    ['name' => 'Lucy', 'age' => 22, 'city' => 'New York']
];

2. 사용자 정의 PHP 기능을 작성하십시오

우리의 목표는 전체 다차원 배열에 나타나는 각 값의 횟수를 계산할 수있는 함수를 작성하는 것입니다. 다차원 배열을 재귀 적으로 처리하여 각 요소의 발생 빈도를 계산할 수 있습니다.

이 기능을 구현하는 PHP 기능은 다음과 같습니다.

 function countValuesInArray($array) {
    $counts = [];

    // 다차원 배열을 통해 반복하십시오
    foreach ($array as $element) {
        // 요소가 배열 인 경우,그런 다음 재귀 적으로 전화하십시오
        if (is_array($element)) {
            $counts = array_merge($counts, countValuesInArray($element));
        } else {
            // 요소가 값인 경우,그런 다음 발생 횟수를 계산하십시오
            if (isset($counts[$element])) {
                $counts[$element]++;
            } else {
                $counts[$element] = 1;
            }
        }
    }

    return $counts;
}

// 테스트 배열
$array = [
    ['name' => 'John', 'age' => 28, 'city' => 'New York'],
    ['name' => 'Jane', 'age' => 22, 'city' => 'Los Angeles'],
    ['name' => 'Mike', 'age' => 28, 'city' => 'Chicago'],
    ['name' => 'Lucy', 'age' => 22, 'city' => 'New York']
];

// 호출 기능
$result = countValuesInArray($array);

// 출력 결과
echo '<pre>';
print_r($result);
echo '</pre>';

3. 코드 파싱

  1. 재귀 횡단
    CountValuesinArray 함수는 재귀를 통해 다차원 배열을 처리합니다. 배열 자체의 요소가 배열 인 경우, 함수는 서브 어레이가 가장 안쪽 값에 도달 할 때까지 서브 어레이를 처리하기 위해 다시 호출합니다.

  2. 통계 요소 주파수 <br> 각 요소에 대해 함수는 이미 $ count array에 있는지 확인합니다. 이미 존재한다면 그 값은 1 씩 증가합니다. 존재하지 않으면 1로 초기화됩니다.

  3. 병합 결과 <br> 재귀 적으로 전화 할 때마다 Array_merge를 통해 통계 결과를 병합하여 마지막으로 완전한 통계 배열을 형성합니다.

4. 샘플 출력

위의 코드를 실행한다고 가정하면 출력이 다음과 같습니다.

 Array
(
    [John] => 1
    [28] => 2
    [New York] => 2
    [Jane] => 1
    [22] => 2
    [Los Angeles] => 1
    [Mike] => 1
    [Chicago] => 1
    [Lucy] => 1
)

5. URL 도메인 이름을 수정하십시오

많은 PHP 응용 프로그램에서 배열 데이터에는 URL이 포함되어있을 수 있으며 때로는 처리해야합니다. 배열의 모든 URL의 도메인 이름을 M66.net 으로 바꾸려면 위의 기능을 약간 수정하고 URL의 도메인 이름을 일반 표현식으로 바꿀 수 있습니다.

다음은 URL 처리가 추가 된 기능의 수정 된 버전입니다.