首先,谢谢你的帮助。
我在这里和其他论坛上花了无数个小时试图找到我的确切解决方案,但是要么1)我不理解我读过的那个,要么2)我没有找到正确的答案。
在PHP中,我运行了一个有点复杂的查询,它返回一组记录,类似于:
id | name | direction|
1 aaa east
2 bbb west
3 ccc east
我创建了一个关联数组,例如:
$query=("select * from foo");
$result=mysql_query($query);
$array=mysql_fetch_assoc($result);
现在,我需要做的似乎很简单,但出于某种原因,我没有掌握这个概念。我需要遍历整个$数组,并返回我想要指定的任何值的计数,并将该计数存储在变量中。
即。请告诉我在“方向”栏中显示了多少次东方,并将其放在一个名为$eastcount
的变量中。
我已经尝试了使用Foreach
循环与增量计数的各种组合,并尝试使用array_count_values
,但无法将这些片段放在一起:/
// build query
$query=("select * from foo");
// execute query
$result=mysql_query($query);
// declare vars
$east_count = 0;
// iterate through results
while ($data = mysql_fetch_array($result)) {
// grab DIRECTION column value
$direction = $data['direction'];
// detect 'east'
if ($direction == 'east') {
// increment 'east' count
$east_count++;
}
}
// print # of times we had 'east'
echo("direction said 'east' $east_count times");
这应该可以工作(抱歉缺乏代码块我在我的iPhone上)。
http://www.php.net/manual/en/function.array-count-values.php
$array=array(1,“你好”,1,“世界”,“你好”);打印(数组计数值($array));
数组([1]=
这个怎么样:
query=("select * from foo");
$result=mysql_query($query);
$directions = array();
while($direction = mysql_fetch_assoc($result) {
$directions[] = $direction['direction'];
}
$directionCounts = array_count_values($directions);
//now you can access your counts like this:
echo $directionCounts['east'];