私は Oreilly から PHP5 を学ぶで演習を行っています。タスクは州の総人口を計算することです (都市の数は限られています)。
私は州と都市の中で多次元配列を作成しましたが、本で解決策として提案されているものとは異なり、sum_array() 関数を使用して州ごとに人口を計算しようとしています。
array_sum が使用する配列を認識していないように見えるため、私の論理は何らかの形で間違っているに違いありません (名前を 3 回確認し、適切な配列名を書きました)。私は何が欠けていますか?
これが私がこれまでに持っているものです:
$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>";