Advertisement
Achilles

How to sort multidimensional array

Jul 12th, 2013
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. // Script : How to sort multidimensional array
  2.  
  3. <?php
  4.  
  5. $students = array (
  6. 256 => array ('name' => 'Jon', 'grade' => 98.5),
  7. 2 => array ('name' => 'Vance', 'grade' => 85.1),
  8. 9 => array ('name' => 'Stephen', 'grade' => 94.0),
  9. 364 => array ('name' => 'Steve', 'grade' => 85.1),
  10. 68 => array ('name' => 'Rob', 'grade' => 74.6),
  11. 56 => array ('name' => 'Ed', 'grade' => 88.6),
  12. 365 => array ('name' => 'Samantha', 'grade' => 92.5),
  13. 424 => array ('name' => 'John', 'grade' => 96.0)
  14. );
  15.  
  16.  
  17.  
  18.  
  19. function name_sort($x , $y)
  20. {
  21. static $count = 1;
  22. echo "<p>Iteration $count : $x[name] vs $y[name] </p>\n";
  23. $count++;
  24. return strcasecmp($x['name'], $y['name']);
  25. }
  26.  
  27. function grade_sort($x , $y)
  28. {
  29. static $count = 1;
  30. echo "<p>Iteration $count : $x[grade] vs $y[grade] </p>\n";
  31. $count++;
  32. return $x['grade'] < $y['grade'];
  33. }
  34.  
  35. var_dump("Array is" , $students);
  36.  
  37. usort($students, 'name_sort');
  38.  
  39. var_dump("Array sorted by name" , $students);
  40.  
  41. usort($students, 'grade_sort');
  42.  
  43. var_dump("Array sorted by grade" , $students);
  44.  
  45. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement