C.3 Chapter 4
C.3.1 Exercise 1:
$population = array('New York, NY' => 8008278,
'Los Angeles, CA' => 3694820,
'Chicago, IL' => 2896016,
'Houston, TX' => 1953631,
'Philadelphia, PA' => 1517550,
'Phoenix, AZ' => 1321045,
'San Diego, CA' => 1223400,
'Dallas, TX' => 1188580,
'San Antonio, TX' => 1144646,
'Detroit, MI' => 951270);
$total_population = 0;
print "<table><tr><th>City</th><th>Population</th></tr>\n";
foreach ($population as $city => $people) {
$total_population += $people;
print "<tr><td>$city</td><td>$people</td></tr>\n";
}
print "<tr><td>Total</td><td>$total_population</td></tr>\n";
print "</table>\n";
C.3.2 Exercise 2:
Use asort( ) to sort by population. $population = array('New York, NY' => 8008278,
'Los Angeles, CA' => 3694820,
'Chicago, IL' => 2896016,
'Houston, TX' => 1953631,
'Philadelphia, PA' => 1517550,
'Phoenix, AZ' => 1321045,
'San Diego, CA' => 1223400,
'Dallas, TX' => 1188580,
'San Antonio, TX' => 1144646,
'Detroit, MI' => 951270);
$total_population = 0;
asort($population);
print "<table><tr><th>City</th><th>Population</th></tr>\n";
foreach ($population as $city => $people) {
$total_population += $people;
print "<tr><td>$city</td><td>$people</td></tr>\n";
}
print "<tr><td>Total</td><td>$total_population</td></tr>\n";
print "</table>\n";
Use ksort( ) to sort by city name. $population = array('New York, NY' => 8008278,
'Los Angeles, CA' => 3694820,
'Chicago, IL' => 2896016,
'Houston, TX' => 1953631,
'Philadelphia, PA' => 1517550,
'Phoenix, AZ' => 1321045,
'San Diego, CA' => 1223400,
'Dallas, TX' => 1188580,
'San Antonio, TX' => 1144646,
'Detroit, MI' => 951270);
$total_population = 0;
ksort($population);
print "<table><tr><th>City</th><th>Population</th></tr>\n";
foreach ($population as $city => $people) {
$total_population += $people;
print "<tr><td>$city</td><td>$people</td></tr>\n";
}
print "<tr><td>Total</td><td>$total_population</td></tr>\n";
print "</table>\n";
C.3.3 Exercise 3:
// Separate the city and state name in the array so we can total by state
$population = array('New York' => array('state' => 'NY', 'pop' => 8008278),
'Los Angeles' => array('state' => 'CA', 'pop' => 3694820),
'Chicago' => array('state' => 'IL', 'pop' => 2896016),
'Houston' => array('state' => 'TX', 'pop' => 1953631),
'Philadelphia' => array('state' => 'PA', 'pop' => 1517550),
'Phoenix' => array('state' => 'AZ', 'pop' => 1321045),
'San Diego' => array('state' => 'CA', 'pop' => 1223400),
'Dallas' => array('state' => 'TX', 'pop' => 1188580),
'San Antonio' => array('state' => 'TX', 'pop' => 1144646),
'Detroit' => array('state' => 'MI', 'pop' => 951270));
// Use the $state_totals array to keep track of per-state totals
$state_totals = array( );
$total_population = 0;
print "<table><tr><th>City</th><th>Population</th></tr>\n";
foreach ($population as $city => $info) {
// $info is an array with two elements: pop (city population)
// and state (state name)
$total_population += $info['pop'];
// increment the $info['state'] element in $state_totals by $info['pop']
// to keep track of the total population of state $info['state']
$state_totals[$info['state']] += $info['pop'];
print "<tr><td>$city, {$info['state']}</td><td>{$info['pop']}</td></tr>\n";
}
// Iterate through the $state_totals array to print the per-state totals
foreach ($state_totals as $state => $pop) {
print "<tr><td>$state</td><td>$pop</td>\n";
}
print "<tr><td>Total</td><td>$total_population</td></tr>\n";
print "</table>\n";
C.3.4 Exercise 4:
An associative array whose keys are students' names
and whose values are associative arrays of grade and ID number. $students = array('James D. McCawley' => array('grade' => 'A+',
'id' => 271231),
'Buwei Yang Chao' => array('grade' => 'A',
'id' => 818211));
An associative array whose key is the item name and whose value is
the number in stock. $stock = array('Woks' => 5, 'Steamers' => 3, 'Heavy Cleavers' => 2,
'Light Cleavers' => 6);
An associative array whose key is the day and whose value is an
associative array describing the meal. This associative array has a
key/value pair for cost and a key/value pair for each part of the
meal (entree, side dish, drink). $lunches = array('Monday' => array('cost' => 1.50,
'entree' => 'Beef Shiu-Mai',
'side' => 'Salty Fried Cake',
'drink' => 'Black Tea'),
'Tuesday' => array('cost' => 1.50,
'entree' => 'Clear-steamed Fish',
'side' => 'Turnip Cake',
'drink' => 'Black Tea'),
'Wednesday' => array('cost' => 2.00,
'entree' => 'Braised Sea Cucumber',
'side' => 'Turnip Cake',
'drink' => 'Green Tea'),
'Thursday' => array('cost' => 1.35,
'entree' => 'Stir-fried Two Winters',
'side' => 'Egg Puff',
'drink' => 'Black Tea'),
'Friday' => array('cost' => 2.15,
'entree' => 'Stewed Pork with Taro',
'side' => 'Duck Feet',
'drink' => 'Jasmine Tea'));
A numeric array whose values are the names of family members. $family = array('Bart','Lisa','Homer','Marge','Maggie');
An associative array whose keys are the names of family members and
whose values are associative arrays of age and relationship. $family = array('Bart' => array('relation' => 'brother',
'age' => 10),
'Lisa' => array('relation' => 'sister',
'age' => 7),
'Homer' => array('relation' => 'father',
'age' => 36),
'Marge' => array('relation' => 'mother',
'age' => 34),
'Maggie' => array('relation' => 'self',
'age' => 1));
|