改进的统计数组中元素出现次数的类
Jun 06, 2016 pm 07:37 PM
元素
出現
改進
陣列
次數
統計
从别人那里改进的,原来的不能区分1和1 无 ?phpclass Statistics { private $meta = array(); private $result=array('string'=array(),'number'=array()); private $meger=array('string'=array(),'number'=array()); function __construct() { $this-meta =
从别人那里改进的,原来的不能区分1和'1'
<?php class Statistics { private $meta = array(); private $result=array('string'=>array(),'number'=>array()); private $meger=array('string'=>array(),'number'=>array()); function __construct() { $this->meta = func_get_args(); } public function show(){ $this->count_elems($this->meta); var_dump($this->result); } private function count_elems($array) { //遍历数组 foreach ($array as $value) { //如果$value不是数组,就判断其出现次数,否则调用本身再次遍历 if(!is_array($value)) { //若变量作为数组下标,且该变量值可以转换成数字,如数字字符串,php会自动将其转化成数字,所有要分类保存 if(is_string($value)){ if (!in_array($value, $this->meger['string'])) { $this->meger['string'][] = $value; $this->result['string'][$value] = 1; } elseif (in_array($value, $this->meger['string'])) { $this->result['string'][$value]++; } }else{ if (!in_array($value, $this->meger['number'])) { $this->meger['number'][] = $value; $this->result['number'][$value] = 1; } elseif (in_array($value, $this->meger['number'])) { $this->result['number'][$value]++; } } }else{ $this->count_elems($value); } } } } $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'); $s = new Statistics($arr1, $arr2, $arr3, $arr4, $arr5, $arr6, $arr7); $s->show(); ?>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)