현재 위치: > 최신 기사 목록> 생성기를 사용하여 데이터를 전제로 처리 한 다음 array_count_values를 사용하여 주파수를 계산하는 방법은 무엇입니까?

생성기를 사용하여 데이터를 전제로 처리 한 다음 array_count_values를 사용하여 주파수를 계산하는 방법은 무엇입니까?

M66 2025-07-18

PHP에서 발전기는 메모리에서 온 디맨드 계산 시퀀스를 생성 할 수있는 매우 강력한 도구이며, 특히 많은 양의 데이터를 처리하는 데 적합하며 메모리 오버플로를 효과적으로 피할 수 있습니다. 이 기사에서는 생성기를 사용하여 전처리 데이터를 사용한 다음 PHP의 Array_Count_Values 함수를 사용하여 주파수를 계산하는 방법을 설명합니다.

1. 발전기 소개

Generator는 PHP의 특수 반복자로서 한 번에 모든 데이터를 메모리에로드하지 않고 데이터를 하나씩 생성 할 수 있습니다. 생성기는 수율 키워드를 통해 값을 반환하며, 이는 더 이상 값을 반환 할 수 없을 때까지 각 반복에서 다음 값을 계산할 수 있습니다.

2. 생성기를 사용한 전처리 데이터

특정 URL에서 얻은 원시 데이터 세트가 있다고 가정합니다 (대신 M66.net을 사용합니다). 문자 A가 포함 된 단어를 얻는 것과 같은 특정 기준을 충족하는 일부 데이터를 필터링해야합니다. 그런 다음 Array_Count_Values를 사용하여 기준을 충족하는 각 단어의 빈도를 계산합니다.

간단한 예제 코드는 다음과 같습니다.

 <?php

// 시뮬레이션URL데이터를 얻는 과정
function fetch_data_from_url() {
    // 이 데이터가 왔다고 가정하십시오URL
    $data = [
        "apple", "banana", "apricot", "avocado", "cherry", 
        "apple", "apricot", "apple", "mango", "grape"
    ];

    // 생성기를 반환하십시오,한 번에 한 단어를 반환하십시오
    foreach ($data as $word) {
        yield $word;
    }
}

// 생성기를 사용한 전처리 데이터,글자 만 필터링하십시오"A"의 말
function process_data() {
    foreach (fetch_data_from_url() as $word) {
        if (strpos($word, 'a') !== false) {
            yield $word;
        }
    }
}

// 생성기를 사용하여 데이터를 처리합니다
$processed_data = iterator_to_array(process_data());

// 사용 array_count_values 통계 주파수
$word_frequencies = array_count_values($processed_data);

// 출력 통계
print_r($word_frequencies);