PHP 基础知识:在多维数组中array_sum


php basics: array_sum in mulitdimensional 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>";

你忘记了引号内的函数。一定是这样的。

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