php 元素出现的次数,php统计数组元素出现的次数

//将数组转换成1维

function format_array($arr = array()){

if (empty($arr)) return array();

if (!is_array($arr)) return array($arr);

static $result = array();

foreach($arr as $val){

if (is_array($val)){

format_array($val);

} else{

$result[] = $val;

}

}

return $result;

}

function statistics_count(){

$args = func_get_args();

$arr = format_array($args);

$result = array('string' => array(), 'number' => array());

foreach($arr as $val){

if (is_string($val)){

$result['string'][$val] = isset($result['string'][$val]) ? $result['string'][$val] + 1 : 1;

} else{

$result['number'][$val] = isset($result['number'][$val]) ? $result['number'][$val] + 1 : 1;

}

}

return $result;

}

$arr1 = array('a', 'b', array(1,2,3,4,'dd','fdf','nid','innid','iii','ieir'));

$arr2 = array('d', 'de', 'ef','2','5','8');

$arr3 = array('a', 'ef', 'r', 'q');

$arr4 = array('b', 'de', 'q', 'z');

$arr5 = array('1', 'de', 'q', '3r');

$arr6 = array(1, 1, 2, 'mn', '0y');

$arr7 = array(1, 'v2d', 'mn', '0y');

print_r(statistics_count($arr1, $arr2, $arr3, $arr4, $arr5, $arr6, $arr7));

输出:

Array

(

[string] => Array

(

[a] => 2

[b] => 2

[dd] => 1

[fdf] => 1

[nid] => 1

[innid] => 1

[iii] => 1

[ieir] => 1

[d] => 1

[de] => 3

[ef] => 2

[2] => 1

[5] => 1

[8] => 1

[r] => 1

[q] => 3

[z] => 1

[1] => 1

[3r] => 1

[mn] => 2

[0y] => 2

[v2d] => 1

)

[number] => Array

(

[1] => 4

[2] => 2

[3] => 1

[4] => 1

)

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值