All pastes #346233 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-02-09 05:19 UTC
rendered paste body
<?php /* vim: set sts=2 ts=2 expandtab : */
  function last_name_sort($a, $b) {
    $olda = $a;
    $oldb = $b;
    if(preg_match('/(\S+)$/', $a, $matches)) $a = $matches[1];
    if(preg_match('/(\S+)$/', $b, $matches)) $b = $matches[1];
    $rv = strcmp($a, $b);
return $rv;
    if($rv != 0) return $rv;
    return strcmp($olda, $oldb);
  }

  $dir = opendir('bios');

  $names = array();
  while (($file = readdir($dir)) != false) {
    if ($file{0} == '.') continue;  // skip hidden files and dirs
    $file = explode('.', $file);
    $file = $file[0];
    $names[$file] = ucwords(str_replace('_', ' ', $file));
  }
  uasort($names, "last_name_sort");
  foreach ($names as $file => $name) {
    echo $name, "\n";
  }