public function get_results($query = null, $output = OBJECT)
{
$this->func_call = "\$db->get_results(\"{$query}\", {$output})";
if ($query) {
$this->query($query);
} else {
return null;
}
$new_array = [];
if ($output == OBJECT) {
// Return an integer-keyed array of row objects
return $this->last_result;
} elseif ($output == OBJECT_K) {
// Return an array of row objects with keys from column 1
// (Duplicates are discarded)
foreach ($this->last_result as $row) {
$var_by_ref = get_object_vars($row);
$key = array_shift($var_by_ref);
if (!isset($new_array[$key])) {
$new_array[$key] = $row;
}
}
return $new_array;
} elseif ($output == ARRAY_A || $output == ARRAY_N) {
// Return an integer-keyed array of...
if ($this->last_result) {
foreach ((array) $this->last_result as $row) {
if ($output == ARRAY_N) {
// ...integer-keyed row arrays
$new_array[] = array_values(get_object_vars($row));
} else {
// ...column name-keyed row arrays
$new_array[] = get_object_vars($row);
}
}
}
return $new_array;
} elseif (strtoupper($output) === OBJECT) {
// Back compat for OBJECT being previously case insensitive.
return $this->last_result;
}
return null;
}