如何在PHP中排序数据集


how to sort a dataset in PHP?

我使用PDO连接到数据库中的表。所以我写了一个快速的函数来返回从数据表返回的结果。是的,我可以在查询中使用SORT BY对结果进行排序,但我想避免在此查询中使用SORT BY,因为此查询为大型表提取信息。

*首先,我需要能够在用户端对该数据集进行排序。所以我需要按不同列排序比如按列"fullName"排序或者按"userID"或"createdDate"排序

所以当PDO获取结果并返回数组时,我想对这些进行排序。

*第二个问题,在这个函数中我做一个自由的结果,还是我在查询之外释放它们?

function getDataSet($query, $connection){
    $cmd = $connection->query( $query );
    return $cmd->fetchAll();  //PDO::FETCH_ASSOC
}

那么我就可以调用这个函数只需执行

$dataset = getDataSet("select * from users", $db)

在我的第一个问题我想排序$dataset

我不同意你在SQL语句中不使用"ORDER BY"。但无论如何,你可以试试这个:

$tmp_dataset = array();
foreach($dataset as $data)
{
    $tmp_dataset[ $data['name_of_column'] ] = $data;
}
$dataset = $tmp_dataset;
ksort($dataset);