我在 PHP 数组中有标题和语言数据。我需要显示重复的标题计数。请检查下面的数组格式。
Array (
[0] => Array ( [title] => My_title1 [language] => English )
[1] => Array ( [title] => My_title1 [language] => English )
[2] => Array ( [title] => My_title2 [language] => Japanese )
)
我需要以以下格式显示数据。
Title Language Count
My_title1 English 2
My_title2 Japanese 1
我尝试了以下代码
$count = array_count_values(array_map(
function($item) {
return $item['title'];
}, $testArray));
print_r($count);
但我只得到标题计数。
Array ( [My_title1] => 2 [My_title2] => 1 )
如何显示如下格式?
Title Language Count
My_title1 English 2
My_title2 Japanese 1
最佳答案
例如,您可以这样做:
<?php
$testArray = array (
0 => Array ( 'title' => 'My_title1', 'language' => 'English' ),
1 => Array ( 'title' => 'My_title1', 'language' => 'English' ),
2 => Array ( 'title' => 'My_title2', 'language' => 'Japanese' ),
);
$count = array_count_values(array_map(
function($item) {
return $item['title'].'#'.$item['language'];
}, $testArray));
$outArray = array();
foreach ($count as $k => $v) {
$k = explode('#', $k);
$record['Title'] = $k[0];
$record['Language'] = $k[1];
$record['Count'] = $v;
$outArray[] = $record;
}
var_dump($outArray);
当然你需要使用标题和语言中不会使用的字符,可能#
就足够了
关于PHP 数组重复数据计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818165/