현재 위치: > 최신 기사 목록> 연관 배열을 사용할 때 오류를보고하는 이유는 무엇입니까?

연관 배열을 사용할 때 오류를보고하는 이유는 무엇입니까?

M66 2025-05-13

PHP 프로그래밍에서 array_count_values 는 매우 일반적인 기능이며 그 기능은 모든 값이 배열에 나타나는 횟수를 계산하는 것입니다. 일반 인덱스 어레이의 경우 array_count_values가 원활하게 작동 할 수 있지만 들어오는 배열이 연관 배열 인 경우 오류 가보고 될 수 있습니다. 오늘은 Array_Count_Values를 사용할 때 연관 배열이 오류를보고하는 이유 와이 문제를 해결하는 방법에 대해 논의 해 봅시다.

1. array_count_values ​​함수 소개

먼저, array_count_values ​​함수는 다음과 같이 정의됩니다.

 array array_count_values(array $input);

함수는 배열을 입력으로 가져 와서 키가 원래 배열의 모든 다른 값인 새 배열을 반환하고 값은 이러한 값이 나타나는 횟수입니다.

예를 들어:

 <?php
$input = ["apple", "banana", "apple", "orange", "banana", "banana"];
$result = array_count_values($input);
print_r($result);
?>

출력은 다음과 같습니다.

 Array
(
    [apple] => 2
    [banana] => 3
    [orange] => 1
)

이것은 Array_count_values 의 기본 기능으로 배열에서 각 값의 발생 수를 계산합니다.

2. 연관 배열이 오류를보고하는 이유는 무엇입니까?

연관 배열의 경우 다음 상황에 직면 할 수 있습니다.

 <?php
$assocArray = [
    "first" => "apple",
    "second" => "banana",
    "third" => "apple",
    "fourth" => "orange",
    "fifth" => "banana"
];

$result = array_count_values($assocArray);
print_r($result);
?>

이론적으로 출력은 다음과 유사해야합니다.

 Array
(
    [apple] => 2
    [banana] => 2
    [orange] => 1
)

그러나 array_count_values를 사용하여 어레이를 사용하는 경우 문제가 발생하면 오류가 발생할 수 있습니다. 그 이유는 다음과 같습니다. array_count_values는 일반 인덱스 어레이를 기대합니다 (즉, 배열의 키는 정수 또는 유사한 숫자입니다). 연관 배열을 처리 할 때 Array_Count_Values는 연관 배열의 키를 올바르게 처리 할 수 ​​없으므로 오류 또는 충족되지 않은 동작이 발생합니다.

3. 솔루션

연관 배열의 오류를 피하기 위해 먼저 Array_Values ​​함수를 사용하여 연관 배열을 인덱스 배열로 변환 한 다음 값을 계산할 수 있습니다.

 <?php
$assocArray = [
    "first" => "apple",
    "second" => "banana",
    "third" => "apple",
    "fourth" => "orange",
    "fifth" => "banana"
];

// 연관 배열을 인덱스 배열로 변환하십시오
$values = array_values($assocArray);

// 통계의 횟수가 나타납니다
$result = array_count_values($values);
print_r($result);
?>

출력은 다음과 같습니다.

 Array
(
    [apple] => 2
    [banana] => 2
    [orange] => 1
)

Array_Values 를 통해 연관 배열을 색인 배열로 변환 한 후 Array_Count_Values가 제대로 작동 할 수 있습니다.

4. 요약

Array_Count_Values는 배열에서 각 값의 발생 수를 계산하는 데 사용할 수있는 매우 유용한 PHP 기능입니다. 그러나 연관 배열을 다루는 데 문제가 있습니다. 이 문제를 해결하기 위해 가장 쉬운 방법은 Array_Values ​​함수를 사용하여 연관 배열을 색인 배열로 변환 한 다음 Array_Count_Values를 사용하는 것입니다. 이런 식으로, 우리는 값의 빈도를 성공적으로 계산할 수 있습니다.

PHP를 사용할 때 유사한 문제가 발생하면 연관 배열의 특수성을 고려하여 배열의 구조를 적절하게 변환해야합니다.

이 기사가 도움이되기를 바랍니다. 읽어 주셔서 감사합니다!