PHP 프로그래밍에서 array_count_values 는 매우 일반적인 기능이며 그 기능은 모든 값이 배열에 나타나는 횟수를 계산하는 것입니다. 일반 인덱스 어레이의 경우 array_count_values가 원활하게 작동 할 수 있지만 들어오는 배열이 연관 배열 인 경우 오류 가보고 될 수 있습니다. 오늘은 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 의 기본 기능으로 배열에서 각 값의 발생 수를 계산합니다.
연관 배열의 경우 다음 상황에 직면 할 수 있습니다.
<?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는 연관 배열의 키를 올바르게 처리 할 수 없으므로 오류 또는 충족되지 않은 동작이 발생합니다.
연관 배열의 오류를 피하기 위해 먼저 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가 제대로 작동 할 수 있습니다.
Array_Count_Values는 배열에서 각 값의 발생 수를 계산하는 데 사용할 수있는 매우 유용한 PHP 기능입니다. 그러나 연관 배열을 다루는 데 문제가 있습니다. 이 문제를 해결하기 위해 가장 쉬운 방법은 Array_Values 함수를 사용하여 연관 배열을 색인 배열로 변환 한 다음 Array_Count_Values를 사용하는 것입니다. 이런 식으로, 우리는 값의 빈도를 성공적으로 계산할 수 있습니다.
PHP를 사용할 때 유사한 문제가 발생하면 연관 배열의 특수성을 고려하여 배열의 구조를 적절하게 변환해야합니다.
이 기사가 도움이되기를 바랍니다. 읽어 주셔서 감사합니다!