-1

次のように作成された配列があります。

$i = 0;

$files = array();   

while ($file = mysql_fetch_array($query_files)) {
    $files[$i] = array();
    $files[$i] = $file;
    $i++;
}

そして、各 $file['name'] 別名 $files[$i]['name'] に基づいて $files 配列をソートできる必要があります。

どうすればいいですか?ありがとう!

4

2 に答える 2

8

クエリに追加ORDER BY NAMEします。真剣に。これは、最も高速で、最もメモリに安全で、最善の方法です。冗談じゃないよ。さらに、データベースに得意なことをするように指示することになりますが、PHP はそれでしかうまくいきません。最後に、PHP にはインデックスがありませんが、DB の名前列にインデックスを付けるオプションがあります。

絶対に自分でソートする必要がある場合は、を使用する必要がありますusort

// this example is almost a clone of something in the docs.
function cmp($a, $b)
{
    return strcmp($a["name"], $b["name"]);
}
usort($files, "cmp");
于 2013-03-22T19:12:40.907 に答える
0

の仕事のようですusort

usort($array, function ($a, $b) {
   if ($a['name'] == $b['name']) {
       return 0;
   }
   return $a['name'] < $b['name'] ? -1 : 1;
});
于 2013-03-22T19:13:31.020 に答える