[英]Print array keys and values
给定一个名为“ people”的表,其中人的名字与他们的城市相关联,我需要检索来自同一城市的人数。
PEOPLE CITY
John Baltimore
David London
Paula Baltimore
Mark Baltimore
Alex London
我的代码如下:
$array_cities = array();
$query = "SELECT * FROM people";
$result = mysql_query($query);
if ($result) {
while ($record = mysql_fetch_array($result))
$array_cities[] = $record['city'];
}
print_r(array_count_values($array_cities));
我在浏览器中得到的是:
Array ( [Baltimore] => 3 [London] => 2 )
输出正确,但是图形效果不好。 我想要的是这样的:
Baltimore => 3 London => 2
还有其他选择吗?
那只是print_r()
的输出。 如果您还需要其他内容,只需遍历数组即可打印:
foreach(array_count_values($array_cities) as $k => $v)
echo $k . " => " . $v . " ";
边注:
除了print_r()
之外,还有var_dump()
和var_export()
,它们都是“调试功能”。 因此,将它们用于调试,而不是用于打印“格式良好的输出”。
您需要使用MySQL函数COUNT(*)和GROUP BY子句:
$array_cities = array();
$query = 'SELECT COUNT(*) AS `persons`, `city` FROM `people` GROUP BY `city`';
$result = mysql_query($query);
if ($result) {
while ($record = mysql_fetch_array($result)) {
$array_cities[$record['city']] = $record['persons'];
}
}
print_r($array_cities);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.