PHP - 특정 배열 값 카운트
값이 상수와 같은 배열 내부의 요소 수를 계산하려면 어떻게 해야 합니까?예,
$myArray = array("Kyle","Ben","Sue","Phil","Ben","Mary","Sue","Ben");
'벤'이 얼마나 들어있는지 어떻게 직접 알 수 있을까요?
$array = array("Kyle","Ben","Sue","Phil","Ben","Mary","Sue","Ben");
$counts = array_count_values($array);
echo $counts['Ben'];
array_keys 및 count로 이 작업을 수행할 수 있습니다.
$array = array("blue", "red", "green", "blue", "blue");
echo count(array_keys($array, "blue"));
출력:
3
2차원 배열에서 값을 세려면, 특정 값의 수를 처리하고 구하는 데 유용한 스니펫이 있습니다.
<?php
$list = [
['id' => 1, 'userId' => 5],
['id' => 2, 'userId' => 5],
['id' => 3, 'userId' => 6],
];
$userId = 5;
echo array_count_values(array_column($list, 'userId'))[$userId]; // outputs: 2
array_count_values 함수를 사용합니다.
$countValues = array_count_values($myArray);
echo $countValues["Ben"];
사용하다array_count_values()
기능.이 링크를 확인하세요 http://php.net/manual/en/function.array-count-values.php .
define( 'SEARCH_STRING', 'Ben' );
$myArray = array("Kyle","Ben","Sue","Phil","Ben","Mary","Sue","Ben");
$count = count(array_filter($myArray,function($value){return SEARCH_STRING === $value;}));
echo $count, "\n";
출력:
3
array_count_values () 함수를 사용해 보십시오.
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
출력:
Array
(
[1] => 2
[hello] => 2
[world] => 1
)
http://php.net/manual/en/function.array-count-values.php
PHP 기능을 사용해 보십시오.
배열 내부의 모든 동일한 발생을 카운트하려면 다음과 같이 모든 발생을 카운트하고 결과를 다차원 배열로 반환하는 기능이 있습니다.
function countSame($array) {
$count = count($array);
$storeArray = array();
while ($count > 0) {
$count--;
if ($array[$count]) {
$a = $array[$count];
$counts = array_count_values($array);
$counts = $counts[$a];
$tempArray = array($a, $counts);
array_push($storeArray, $tempArray);
$keys = array_keys($array, $a);
foreach ($keys as $k) {
unset($array[$k]);
} //end of foreach ($keys as $k)
} //end of if ($array[$count])
} //end of while ($count > 0)
return $storeArray;
} //end of function countSame($array)
array_count_values
정수와 문자열에만 적용됩니다.플로트/숫자 값에 대한 카운트를 원하는 경우(정확도나 표현의 작은 변화에 신경 쓰지 않는 경우) 다음과 같이 작동합니다.
function arrayCountValues($arr) {
$vals = [];
foreach ($arr as $val) { array_push($vals,strval($val)); }
$cnts = array_count_values($vals);
arsort($cnts);
return $cnts;
}
내가 돌아온다는 것을 참고합니다.$cnts
열쇠를 끈으로 묶은 채로재변환은 쉽겠지만, 값의 모드를 결정하려고 하니 처음(몇 개) 값만 재변환하면 됩니다.
나는 루프를 사용하는 버전을 테스트했고, 사용하는 것보다 카운트의 배열을 만들었습니다.array_count_values
, 그리고 이것이 더 효율적인 것으로 밝혀졌습니다. (아마도 8-10%)!
언급URL : https://stackoverflow.com/questions/11646054/php-count-specific-array-values
'programing' 카테고리의 다른 글
스위프트 변수가 원자인가요? (0) | 2023.10.10 |
---|---|
Chrome 버전 58의 리액터 편집기 텍스트 형식 문제 (0) | 2023.10.10 |
WooCommerce에서 사용자 정의 제품 유형에 대한 가격 및 재고 활성화 방법 (0) | 2023.10.10 |
포커스할 때 각도 ui type ahead 트리거하는 방법 (0) | 2023.10.10 |
각4 재질 테이블 하이라이트 행 (0) | 2023.10.10 |