2012年5月13日日曜日

開発環境

『初めてのPHP5』 (David Sklar 著、 桑村 潤 翻訳、 廣川 類 翻訳、 オライリー・ジャパン、2005年、ISBN978-4-87311-257-2)の4章(配列の操作)4.7(演習問題3を解いてみる。

3.

コード(TextWrangler)

sample12.php

<?php
  function p($cities){
    $total = 0;
    $state_total;
    foreach($cities as $city => $states){
      foreach($states as $state => $people){
        $total += $people;
        $state_total[$state] += $people;
      }
    }
    print "<table border=1><tr><th>city</th><th>people</th></tr>";
    foreach($cities as $city => $states){
      foreach($states as $state => $people){
        print "<tr><td>$city, $state</td><td style='text-align:right'>$people</td>";
      }
    }
    print "<tr><th>state</th><th></th></tr>";
    foreach($state_total as $state => $people){
      print "<tr><td>$state</td><td style='text-align:right;'>$people</td></tr>";
    }
    print "<tr><th>total</th><th>$total</th></tr>";
    print "</table>";
  }
  $cities = array("New York" => array("NY" => 8008278),
                  "Los Angeles" => array("CA" => 3694820),
                  "Chicago" => array("IL" => 2896016),
                  "Houston" => array("TX" => 1953631),
                  "Philadelphia" => array("PA" => 1517550),
                  "Phoenix" => array("AZ" => 1321045),
                  "San Diego" => array("CA" => 1223400),
                  "Dallas" => array("TX" => 1188580),
                  "San Antonio" => array("TX" => 1144646),
                  "Detroit" => array("MI" => 951270));
  print "2000年のアメリカの10大都市(都市ごとの合計、州ごとの合計、全体の合計)<br />";
  p($cities);
?>

HTMLソース

2000年のアメリカの10大都市(都市ごとの合計、州ごとの合計、全体の合計)<br /><table border=1><tr><th>city</th><th>people</th></tr><tr><td>New York, NY</td><td style='text-align:right'>8008278</td><tr><td>Los Angeles, CA</td><td style='text-align:right'>3694820</td><tr><td>Chicago, IL</td><td style='text-align:right'>2896016</td><tr><td>Houston, TX</td><td style='text-align:right'>1953631</td><tr><td>Philadelphia, PA</td><td style='text-align:right'>1517550</td><tr><td>Phoenix, AZ</td><td style='text-align:right'>1321045</td><tr><td>San Diego, CA</td><td style='text-align:right'>1223400</td><tr><td>Dallas, TX</td><td style='text-align:right'>1188580</td><tr><td>San Antonio, TX</td><td style='text-align:right'>1144646</td><tr><td>Detroit, MI</td><td style='text-align:right'>951270</td><tr><th>state</th><th></th></tr><tr><td>NY</td><td style='text-align:right;'>8008278</td></tr><tr><td>CA</td><td style='text-align:right;'>4918220</td></tr><tr><td>IL</td><td style='text-align:right;'>2896016</td></tr><tr><td>TX</td><td style='text-align:right;'>4286857</td></tr><tr><td>PA</td><td style='text-align:right;'>1517550</td></tr><tr><td>AZ</td><td style='text-align:right;'>1321045</td></tr><tr><td>MI</td><td style='text-align:right;'>951270</td></tr><tr><th>total</th><th>23899236</th></tr></table>

0 コメント:

コメントを投稿