PHP-PHP数组分组的问题

PHP-PHP数组分组的问题

泛泛之交 发布于 2017-09-26 字数 871 浏览 1028 回复 2
$arr = array(
array('countyid' => 1, 'county' => '中国','province'=>'湖南'),
array('countyid' => 1, 'county' => '中国','province'=>'湖南'),
array('countyid' => 3, 'county' => '日本','province'=>'名古屋'),
array('countyid' => 3, 'county' => '日本','province'=>'东京'),
array('countyid' => 1, 'county' => '中国','province'=>'北京'),
array('countyid' => 1, 'county' => '中国','province'=>'山东'),
array('countyid' => 1, 'county' => '中国','province'=>'山东'),
array('countyid' => 2, 'county' => '美国','province'=>'安大略'),
array('countyid' => 2, 'county' => '美国','province'=>'安大略'),
array('countyid' => 3, 'county' => '日本','province'=>'名古屋'),

);

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生未歇 2017-10-20 2 楼

 $county = array();
$county_province = array();
foreach($arrs as $arr) {
if(isset($county[$arr['county']])) {
$county[$arr['county']] ++;
}else {
$county[$arr['county']] = 1;
}
if(isset($county_province[$arr['county'].','.$arr['province']])) {
$county_province[$arr['county'].','.$arr['province']] ++;
}else {
$county_province[$arr['county'].','.$arr['province']] = 1;
}
}

var_dump($county);
var_dump($county_province);

甜柠檬 2017-10-13 1 楼

function array_get_by_key($array, $string){
if (!trim($string)) return false;
preg_match_all("/"$string";w{1}:(?:d+:|)(.*?);/", serialize($array), $res);
return $res[1];
}
print_r (array_count_values(array_get_by_key($arr , 'county')));

对于按county,province分组,可以将其转换为把增加一个key,类似county_provinve,然后用上面类似的方法分组

 print_r (array_count_values(array_get_by_key($arr , 'county_provinve')));