程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 統計二維數組裡元素的個數

統計二維數組裡元素的個數

編輯:關於PHP編程

記錄一下一個問題的解決,裡面涉及幾個函數的用法,當作復習啦。

先說明一下問題。數據表裡面的字段 content 存儲了一個以逗號分割的字符串,最大有20個數,最大數字為40。比如3,24,33,40類似字樣的數字序列。其實就是一個保存了多項投票結果的字段啦。現在需要統計每個數字的個數,也就是每個投票項有多少人投了,並排序。

我的思路是這樣的。

1. 首先從數據庫的congtent字段讀取數據,並把它們合並成一個字符串。

<?php
	while($myrow = $connector -> fetch_array($result))
	{
		//$r[] = explode(",", $myrow["content"]);
		$str .= $myrow["content"].',';
	}
	
	$arr_str = substr($str, 0, -1);
?>

由於最後一個數後面有逗號,所以要對字符串進行截取。

2. 將字符串按逗號分割成數組。

$r = explode(",", $arr_str);

3. 用 array_count_values() 統計一維數組的元素個數

由於array_count_values()貌似不能直接對二維數組的元素進行個數統計,所以進行了上面的兩個步驟,得到一個一維數組。

array_count_values() 函數用於統計數組中所有值出現的次數。返回一個數組,其元素的鍵名是原數組的值,鍵值是該值在原數組中出現的次數。

$rs = array_count_values($r);

4. 排序

排序很簡單了,但要保持鍵值,可以使用自帶的asort()函數。

	asort($rs);
	
	echo '<pre>';
	print_r($rs);
	echo '</pre>';

記錄一下幾個用到的函數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved