[英]How do I track cardinality in a for loop?
我有一個元素數組,每個元素都有一個1或0。我想遍歷每個元素並計算哪個元素的位數最大。
所以我有三個領域:
id,問題和是
值如下所示:
1,1,0
1,2,0
1,3,1
1,4,0
1,5,1
2,1,0
2,2,1
2,3,1
2,4,0
2,5,1
3,1,0
3,2,1
3,3,1
3,4,0
3,5,1
這就是要旨。 現在,我要計算中間列中哪些元素在第三列中具有最多的1。 用另一種解釋方式。 我想遍歷for循環並計算中間數字為“ 1”的次數。 稍后,我將整理一下哪個是最多的。 我該如何進行此類迭代?
請詢問是否令人困惑! 我感到困惑...!
如果它在數據庫內部,則可以使用以下SQL:
SELECT question_id, SUM(value = 1) AS value
FROM mytable
GROUP BY question_id
ORDER BY value DESC
LIMIT 1;
SUM(value = 1)
計算每個yesno
值等於1的出現次數; GROUP BY question_id
,每個問題計算為#1 如果您仍然更喜歡使用PHP:
$counts=array();
foreach($arr as $v) @$counts[$v['movie_id']]+=$v['value'];
我們創建一個空數組,然后在該數組中使用鍵$v['movie_id']
將$v['value']
到項目。 如果該密鑰尚不存在,則將使用值0
創建該密鑰,並根據您的PHP設置顯示提示。 放置在PHP命令前面的@
符號可禁止在該行中生成通知和警告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.