【发布时间】:2015-01-13 11:13:12
【问题描述】:
我有一个来自 SQL 的数组,其中包含语言和使用该语言的用户数量。
数组看起来像:
"$languages" => array (5)
12 => "CZ" (2)
4 => "SK" (2)
3 => "DE" (2)
2 => "RO" (2)
6 => NULL
如您所见,此数组已还原。我想对它们进行统计,但这对我来说是个问题,因为我能得到这个值的唯一方法就是写一个它的计数(这将改变 ofc)
$langauges[12] - answer CZ
$languages[CZ] - answer error
有没有办法让我从这个数组循环,让我们说它回显到一些 HTML?
我想要的是:
<div>
<div class="country"> CZ </div>
<div class="number"> 12 </div>
</div>
SQL 看起来像:
function getLanguageStatistic()
{
return $this->db->fetchPairs('SELECT COUNT(*), language FROM users GROUP BY language ORDER BY COUNT(language) DESC');
}
【问题讨论】:
-
foreach ($array as $k => $v) -
<?php foreach($languages as $key => $value){...}?>$key将是 12,$value将是 CZ。 1 个简单的问题,如果 2 种语言的计数相同会发生什么?? -
我们可以看到 SQL 请求吗?我认为我们可以在使用它之前做一些事情!
-
@Spoke44 问题已更新 :) CodeBird 我不知道,如果你有任何其他想法告诉我 :)
-
@Andurit 如果您对 2 种语言有相同的计数,您的数组将不会有用。你有两种方法可以解决这个问题。 1 您的数组键应该是语言名称而不是计数,或者您使用了索引以 0 开头的多维数组,然后是语言和计数。例如 $languages[0]['lang']='CZ'; $languages[0]['count']=12。 寻求spoke44解决方案