channel()->getAll(); $columns = array_column($channels, 'num_users'); array_multisort($columns, SORT_DESC, $channels); $out = []; foreach($channels as $channel) { $modes = (isset($channel->modes)) ? "+" . explode(" ",$channel->modes)[0] : ""; $topic = ''; if (isset($channel->topic)) $topic = htmlentities(StripControlCharacters($channel->topic), ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 | ENT_DISALLOWED); $date = explode("T", $channel->creation_time)[0]; $out[] = [ "Name" => htmlspecialchars($channel->name), "Users" => $channel->num_users, "Modes" => "modes)."\">$modes", "Topic" => $topic, "Created" => "creation_time."\">$date", ]; } function custom_sort($a,$b) { return ($b["Users"] > $a["Users"]) ? true : false; } usort($out, "custom_sort"); echo json_encode($out);