Skip to content

Instantly share code, notes, and snippets.

@nickkoskowski
Last active November 12, 2015 23:24
Show Gist options
  • Select an option

  • Save nickkoskowski/dc54e94e867055024f60 to your computer and use it in GitHub Desktop.

Select an option

Save nickkoskowski/dc54e94e867055024f60 to your computer and use it in GitHub Desktop.
User Sorting By Letter
<?php
//OLD WAY
function array_sort($array, $on, $order=SORT_ASC)
{
$new_array = array();
$sortable_array = array();
if (count($array) > 0) {
foreach ($array as $k => $v) {
if (is_array($v)) {
foreach ($v as $k2 => $v2) {
if ($k2 == $on) {
$sortable_array[$k] = $v2;
}
}
} else {
$sortable_array[$k] = $v;
}
}
switch ($order) {
case SORT_ASC:
asort($sortable_array);
break;
case SORT_DESC:
arsort($sortable_array);
break;
}
foreach ($sortable_array as $k => $v) {
$new_array[$k] = $array[$k];
}
}
return $new_array;
}
function get_alphabetical_index() {
$abc = array();
$abc[] = "A";
$abc[] = "B";
$abc[] = "C";
$abc[] = "D";
$abc[] = "E";
$abc[] = "F";
$abc[] = "G";
$abc[] = "H";
$abc[] = "I";
$abc[] = "J";
$abc[] = "K";
$abc[] = "L";
$abc[] = "M";
$abc[] = "N";
$abc[] = "O";
$abc[] = "P";
$abc[] = "Q";
$abc[] = "R";
$abc[] = "S";
$abc[] = "T";
$abc[] = "U";
$abc[] = "V";
$abc[] = "W";
$abc[] = "X";
$abc[] = "Y";
$abc[] = "Z";
return $abc;
}
$user_query = get_users();
$sorted_users = array_sort($user_query, 'first_name', SORT_DESC);
$i = 0;
$abc = get_alphabetical_index();
foreach ($sorted_users as $user) {
if (substr($user->first_name, 0) != $abc[$i]) {
echo '<span class="lettering">'.$abc[$i].'</span>';
}
$i++;
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment