Jump to content
Larry Ullman's Book Forums

Recommended Posts

I'm stuck. I'm on chapter 7.5 sorting. I've checked it over and over and I can't find anything different from what I typed from the book's code. But it keeps coming up like this:

 

ch7sort.png

 

 

I also tried emptying my internet cache and restarting but that didn't help. I tried on XAMPP and on my godaddy hostserver and got the same results.

 

Here's the code I typed.

------------

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" xml:lang="en" lang="en"/>

<title>My Little Gradebook</title>

</head>

 

<body>

 

<?php

// Script 7.5 - sort.php

 

//Create the initial array

$grades = array (

'Richard' => 95,

'Sherwood' => 82,

'Toni' => 98,

'Franz' => 87,

'Melissa' => 75,

'Roddy' => 85,

);

 

//Show what the array looked like before you sort it

print '<p>Originally the array looked like this: <br />';

foreach ($grades as $student => $grade) {

print "$student: $grade<br />\n";

}

print "</p>";

 

 

//Sort and print the array in reverese order by value to show who has the highest grade

arsort ($grades);

print '<p>After sorting the array by value using arsort(), the array looks like this:<br />';

foreach ($grades as $students => $grade) {

print "$student: $grade<br />\n";

}

print "</p>";

 

 

//Sort the array by key to put them in alphabetical order by name

ksort($grades);

print '<p>After sorting the array by key using ksort(), the array looks like this:<br />';

foreach ($grades as $students => $grade) {

print "$student: $grade<br />\n";

}

print "</p>";

 

?>

</body>

</html>

 

-------------

Link to post
Share on other sites

Ah, good catch. I missed that the first time myself. Kudos for figuring it out and thanks for sharing your solution. The reason is always printed out the one name is that the first loop uses $student. The last item in that loop has a $student value of Roddy. Since $student doesn't get assigned any other values, it still has that value.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...