2012年11月2日金曜日

開発環境

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

3.

コード(TextWrangler)

sample48.php

<?php
  $population = 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 "<table border=1>";
  print "<caption>city, population</caption>";
  print "<tr align=center><th>city</th><th>population</th></tr>";
  $total = 0;
  $total_state = array();
  foreach($population as $city => $people){
    print "<tr><td align=left>$city, $people[0]</td><td align=right>$people[1]</td></tr>";
    $total += $people[1];
    $total_state[$people[0]] += $people[1];
  }
  print "<tr><td align=center>total</td><td align=right>$total</td></tr>";
  print "<tr><th align=left>state</th><th></th></tr>"; 
  foreach($total_state as $state => $people){
    print "<tr><td align=left>$state</td><td align=right>$people</td></tr>";
  }
  print "<tr><td align=center>total</td><td align=right>$total</td></tr>";
  print "</table>";
?>

HTMLソース

<table border=1><caption>city, population</caption><tr align=center><th>city</th><th>population</th></tr><tr><td align=left>New York, NY</td><td align=right>8008278</td></tr><tr><td align=left>Los Angeles, CA</td><td align=right>3694820</td></tr><tr><td align=left>Chicago, IL</td><td align=right>2896016</td></tr><tr><td align=left>Houston, TX</td><td align=right>1953631</td></tr><tr><td align=left>Philadelphia, PA</td><td align=right>1517550</td></tr><tr><td align=left>Phoenix, AZ</td><td align=right>1321045</td></tr><tr><td align=left>San Diego, CA</td><td align=right>1223400</td></tr><tr><td align=left>Dallas, TX</td><td align=right>1188580</td></tr><tr><td align=left>San Antonio, TX</td><td align=right>1144646</td></tr><tr><td align=left>Detroit, MI</td><td align=right>951270</td></tr><tr><td align=center>total</td><td align=right>23899236</td></tr><tr><th align=left>state</th><th></th></tr><tr><td align=left>NY</td><td align=right>8008278</td></tr><tr><td align=left>CA</td><td align=right>4918220</td></tr><tr><td align=left>IL</td><td align=right>2896016</td></tr><tr><td align=left>TX</td><td align=right>4286857</td></tr><tr><td align=left>PA</td><td align=right>1517550</td></tr><tr><td align=left>AZ</td><td align=right>1321045</td></tr><tr><td align=left>MI</td><td align=right>951270</td></tr><tr><td align=center>total</td><td align=right>23899236</td></tr></table>

0 コメント:

コメントを投稿