PHP統(tǒng)計(jì)二維數(shù)組元素個(gè)數(shù)的方法
更新時(shí)間:2013年11月12日 15:09:18 作者:
數(shù)據(jù)表里面的字段 content 存儲(chǔ)了一個(gè)以逗號(hào)分割的字符串,最大有20個(gè)數(shù),最大數(shù)字為40。比如3,24,33,40類(lèi)似字樣的數(shù)字序列。其實(shí)就是一個(gè)保存了多項(xiàng)投票結(jié)果的字段啦?,F(xiàn)在需要統(tǒng)計(jì)每個(gè)數(shù)字的個(gè)數(shù),也就是每個(gè)投票項(xiàng)有多少人投了,并排序
解決思路
1. 首先從數(shù)據(jù)庫(kù)的congtent字段讀取數(shù)據(jù),并把它們合并成一個(gè)字符串。
<?php
while($myrow = $connector -> fetch_array($result))
{
//$r[] = explode(",", $myrow["content"]);
$str .= $myrow["content"].',';
}
$arr_str = substr($str, 0, -1);
?>
由于最后一個(gè)數(shù)后面有逗號(hào),所以要對(duì)字符串進(jìn)行截取。
2. 將字符串按逗號(hào)分割成數(shù)組。
$r = explode(",", $arr_str);
3. 用 array_count_values() 統(tǒng)計(jì)一維數(shù)組的元素個(gè)數(shù)
由于array_count_values()貌似不能直接對(duì)二維數(shù)組的元素進(jìn)行個(gè)數(shù)統(tǒng)計(jì),所以進(jìn)行了上面的兩個(gè)步驟,得到一個(gè)一維數(shù)組。
array_count_values() 函數(shù)用于統(tǒng)計(jì)數(shù)組中所有值出現(xiàn)的次數(shù)。返回一個(gè)數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)。
$rs = array_count_values($r);
4. 排序
asort($rs);
echo '<pre>';
print_r($rs);
echo '</pre>';
1. 首先從數(shù)據(jù)庫(kù)的congtent字段讀取數(shù)據(jù),并把它們合并成一個(gè)字符串。
復(fù)制代碼 代碼如下:
<?php
while($myrow = $connector -> fetch_array($result))
{
//$r[] = explode(",", $myrow["content"]);
$str .= $myrow["content"].',';
}
$arr_str = substr($str, 0, -1);
?>
由于最后一個(gè)數(shù)后面有逗號(hào),所以要對(duì)字符串進(jìn)行截取。
2. 將字符串按逗號(hào)分割成數(shù)組。
復(fù)制代碼 代碼如下:
$r = explode(",", $arr_str);
3. 用 array_count_values() 統(tǒng)計(jì)一維數(shù)組的元素個(gè)數(shù)
由于array_count_values()貌似不能直接對(duì)二維數(shù)組的元素進(jìn)行個(gè)數(shù)統(tǒng)計(jì),所以進(jìn)行了上面的兩個(gè)步驟,得到一個(gè)一維數(shù)組。
array_count_values() 函數(shù)用于統(tǒng)計(jì)數(shù)組中所有值出現(xiàn)的次數(shù)。返回一個(gè)數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)。
復(fù)制代碼 代碼如下:
$rs = array_count_values($r);
4. 排序
復(fù)制代碼 代碼如下:
asort($rs);
echo '<pre>';
print_r($rs);
echo '</pre>';
您可能感興趣的文章:
- php實(shí)現(xiàn)數(shù)組重復(fù)數(shù)字統(tǒng)計(jì)實(shí)例
- PHP實(shí)現(xiàn)統(tǒng)計(jì)一個(gè)數(shù)字在排序數(shù)組中出現(xiàn)次數(shù)的方法
- php統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)的方法
- PHP統(tǒng)計(jì)數(shù)值數(shù)組中出現(xiàn)頻率最多的10個(gè)數(shù)字的方法
- php數(shù)組函數(shù)序列 之a(chǎn)rray_count_values() 統(tǒng)計(jì)數(shù)組中所有值出現(xiàn)的次數(shù)函數(shù)
- PHP源代碼數(shù)組統(tǒng)計(jì)count分析
- php實(shí)現(xiàn)數(shù)組中出現(xiàn)次數(shù)超過(guò)一半的數(shù)字的統(tǒng)計(jì)方法
相關(guān)文章
thinkPHP+PHPExcel實(shí)現(xiàn)讀取文件日期的方法(含時(shí)分秒)
這篇文章主要介紹了thinkPHP+PHPExcel實(shí)現(xiàn)讀取文件日期的方法,可實(shí)現(xiàn)針對(duì)時(shí)分秒的形式進(jìn)行讀取的功能,涉及PHPExcel中ExcelToPHP函數(shù)的相關(guān)使用方法,需要的朋友可以參考下2016-07-07ThinkPHP中的系統(tǒng)常量和預(yù)定義常量集合
這篇文章主要介紹了ThinkPHP系統(tǒng)常量和預(yù)定義常量,需要的朋友可以參考下2014-07-07Codeigniter里的無(wú)刷新上傳的實(shí)現(xiàn)代碼
這篇文章主要介紹了Codeigniter里的無(wú)刷新上傳的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04TP5框架使用QueryList采集框架爬小說(shuō)操作示例
這篇文章主要介紹了TP5框架使用QueryList采集框架爬小說(shuō)操作,結(jié)合實(shí)例形式分析了TP5結(jié)合QueryList采集框架爬17k小說(shuō)的相關(guān)原理、步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-03-03php過(guò)濾html中的其他網(wǎng)站鏈接的方法(域名白名單功能)
這篇文章主要介紹了php過(guò)濾html中的其他網(wǎng)站鏈接的方法(域名白名單功能),需要的朋友可以參考下2014-04-04