我正在进行从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>";
答案 0 :(得分:4)
你忘记了引号内的功能。必须是这样的。
print "<tr><td></td><td>{$state}'s total population</td><td>".array_sum($city_info)."</td></tr>";