簡體   English   中英

打印數組鍵和值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM