fork download
  1. <?php
  2.  
  3. $name_alpha = array (
  4. 0 =>
  5. 'ID' => 425,
  6. 'ln' => 'Bolware',
  7. 'fn' => 'Christian',
  8. 'mi' => '',
  9. ),
  10. 1 =>
  11. 'ID' => 423,
  12. 'ln' => 'Bernstein',
  13. 'fn' => 'Bear',
  14. 'mi' => 'D.',
  15. ),
  16. 2 =>
  17. 'ID' => 419,
  18. 'ln' => 'Bellweather',
  19. 'fn' => 'Brent',
  20. 'mi' => '',
  21. ),
  22. 3 =>
  23. 'ID' => 356,
  24. 'ln' => 'Bayleaf, III',
  25. 'fn' => 'Joe',
  26. 'mi' => 'X.',
  27. ),
  28. 4 =>
  29. 'ID' => 336,
  30. 'ln' => 'Public',
  31. 'fn' => 'John',
  32. 'mi' => 'Q.',
  33. )
  34. );
  35.  
  36. usort($name_alpha, function($a, $b) {
  37. return strcmp($a['ln'], $b['ln']) // will return this if it is not 0
  38. ?
  39. : strcmp($a['fn'], $b['fn']) // will return this if it is not 0
  40. ?
  41. : strcmp($a['mi'], $b['mi']); // will return this if it made it this far
  42. });
  43.  
  44. print_r($name_alpha);
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [ID] => 356
            [ln] => Bayleaf, III
            [fn] => Joe
            [mi] => X.
        )

    [1] => Array
        (
            [ID] => 419
            [ln] => Bellweather
            [fn] => Brent
            [mi] => 
        )

    [2] => Array
        (
            [ID] => 423
            [ln] => Bernstein
            [fn] => Bear
            [mi] => D.
        )

    [3] => Array
        (
            [ID] => 425
            [ln] => Bolware
            [fn] => Christian
            [mi] => 
        )

    [4] => Array
        (
            [ID] => 336
            [ln] => Public
            [fn] => John
            [mi] => Q.
        )

)