Advertisement
Guest User

Untitled

a guest
May 29th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.79 KB | None | 0 0
  1. function sort_by_last_name($a, $b) {
  2.   // remove titles and split names, sorting on last name
  3.   $a['name'] = trim($a['name']);
  4.   $b['name'] = trim($b['name']);
  5.   $last_name1 = end(explode(' ', strpos($a['name'], ',') ? substr($a['name'], 0, strpos($a['name'], ',')) : $a['name']));
  6.   $last_name2 = end(explode(' ', strpos($b['name'], ',') ? substr($b['name'], 0, strpos($b['name'], ',')) : $b['name']));
  7.  
  8.   if(substr_count($a['name'], ' ') > 1) {
  9.     $last_name1 = end(explode(' ', strpos($a['name'], ' I') ? substr($a['name'], 0, strrpos($a['name'], ' I')) : $a['name']));
  10.   }
  11.   if(substr_count($b['name'], ' ') > 1) {
  12.     $last_name2 = end(explode(' ', strpos($b['name'], ' I') ? substr($b['name'], 0, strrpos($b['name'], ' I')) : $b['name']));
  13.   }
  14.   return strcasecmp($last_name1, $last_name2);
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement