2012-02-07 4 views
0

次のように私は、ファイル名の配列は、フォルダから集めてきた:PHPのシャッフル機能

$g = glob('uploads/thumbs/*.jpg'); 

を、ユーザーの選択に基づか、画像がshuffle($g)によってシャッフルrsort($g)かを時系列順に表示されます。

問題はシャッフルが常に写真の同じ順序を返すことです!これをどうすれば解決できますか?

+2

、あなたの完全なコードを投稿してもらえますか? –

+1

konsolenfreddyに触発されているように、どのバージョンのPHPを使用していますか? –

+0

'shuffle'は配列ではなくブール値を返します。 – dfsq

答えて

0

のために使用されているように、乱数ジェネレータをシードするsrand()を使用する必要があり、これを試してみてください。

$glob = glob('uploads/thumbs/*.jpg'); 
$files = clone $glob; 
unset($glob); 
shuffle($files); 
var_dump($files); 
0

あなたはおそらくこれが基準の問題のいくつかの種類であることがshuffle()

+2

これは4.2以降では不要です。 – konsolenfreddy

+0

これは有効な回答ですが、PHP 4.2以降では問題ありません。マニュアル「4.2.0 \t乱数ジェネレータは自動的にシードされます。 –