What would be recommended from a pure coding best practices perspective to adopt as a standard for medium-large developer teams?
Return a sequential array:
function get_results($filter) {
    $query = "SELECT SQL_CALC_FOUND_ROWS, * FROM ...";
    $results = ...
    $total = ...
    return array($results, $total);
}
Return an associative array:
function get_results($filter) {
    $query = "SELECT SQL_CALC_FOUND_ROWS, * FROM ...";
    $results = ...
    $total = ...
    return array(
        'resuts' => $results, 
        'total' => $total
    );
}
Return single result and assign the second by reference (?!):
function get_results($filter, &$count = null) {
    $query = "SELECT SQL_CALC_FOUND_ROWS, * FROM ...";
    $results = ...
    $total = ...
    $count = $total;
    return $results;
}
Feel free to suggest any other approach.
 
    