如何在PHP中对数据集进行排序?

时间:2013-03-19 22:09:24

标签: php mysql sorting multidimensional-array

我正在使用PDO连接到数据库中的表。所以我写了一个快速函数来返回从数据表返回的结果。是的我可以在我的查询中使用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进行排序。

1 个答案:

答案 0 :(得分:0)

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

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

$dataset = $tmp_dataset;

ksort($dataset);