php基础:mulitdimensional数组中的array_sum

时间:2012-06-26 06:33:43

标签: php multidimensional-array

我正在进行从Oreilly学习PHP5的练习,其任务是计算各州的总人口(城市数量有限)。

我创建了一个多维数组,其中包含状态,然后在城市内部,但与书中提出的解决方案不同,我试图使用sum_array()函数为每个州计算人口。

我的逻辑必定是错误的,因为我的array_sum似乎不知道使用哪个数组(我对这些名称进行了三重检查,并编写了良好的数组名称)。我错过了什么?

这是我到目前为止所拥有的:

$population = array ( 
    'NY' => array('New York' => 8008278),
    'CA' => array('Los Angeles' => 3694820, 'San Diego' => 1223400),
    'IL' => array('Chicago' => 2896016),
    'TX' => array('Houston' => 1953631, 'Dallas' => 1188580, 'San Antonio' => 1144646),
    'PA' => array('Philadelphia' => 1517550),
    'AZ' => array('Phoenix' => 1321045),
    'MI' => array('Detroit' => 951270)
);

print '<table><tr><th>State</th><th>City</th><th>Population</th></tr>';

foreach ($population as $state => $city_info) {
    foreach ($city_info as $city_name => $city_population) {
    print "<tr><td>$state</td><td>$city_name</td><td>$city_population</td></tr>";
    }
    print "<tr><td></td><td>{$state}'s total population</td><td>array_sum($city_info)</td></tr>";
}

print "<tr><td></td><td></td></tr>";

1 个答案:

答案 0 :(得分:4)

你忘记了引号内的功能。必须是这样的。

print "<tr><td></td><td>{$state}'s total population</td><td>".array_sum($city_info)."</td></tr>";