2016-06-16 4 views
0

私には完璧に動作するコードが1つあります。 "1"と "2"という2つのフォルダがあります。フォルダ "1"の中に "image1.jpg" "image2.jpg"と "image3.jpg"という3枚の画像がありますforeachループをより高い数値を最初に印刷する方法

"2"の前にフォルダ "1"が印刷され、 image1.jpg "の前に" image2.jpg "

極端な計算をする計算量が多すぎる小さな編集や、フォルダ+画像の選択を最低の代わりに最高の数値にすることは可能ですか?

の下に取り付けたコード:

$directory_name = "pics/"; 
    $images = glob($directory_name."*/*.jpg"); 
    foreach($images as $image) 
    { 
     echo '<img src="/'.$image.'">'; 

    } 

答えて

3

あなたはrsortを使用することができます。

$directory_name = "pics/"; 
$images = glob($directory_name."*/*.jpg"); 
for($i=count($images);$i>=0;$i--) 
{ 
    echo '<img src="/'.$images[$i].'">'; 

} 

はEDIT:そのすべてのあなたdownvotersかもしれ大きな違いは、実際にあり

$directory_name = "pics/"; 
$images = glob($directory_name."*/*.jpg"); 
rsort($images); 
foreach($images as $image) 
{ 
    echo '<img src="/'.$image.'">'; 

} 
+0

完璧!ありがとよ。私はすぐにこの質問を受け入れます、私は現在5分間ロックされています。 –

-2

はこれを試してみてください私の対Renaudsの答えを監督している。
私のコードは配列を変更しません。 アレイに名前付きキーがある場合でも名前は付けられますが、Renaudsコードは配列内のキーを破壊します。

最初から同じインデックスを維持することは、値を把握する上で非常に重要です。

+0

あなたの試してみてくれてありがとう、しかし、rsortは上記のようにはるかに良い選択になるでしょう:) –

+0

@JDoe確かに、それがあなたのために働く場合は、それを行ってください。しかし、キーがリセットされることに注意してください。時にはそれが問題になる可能性があります。私のコードは、配列を決して変更しません。あなたが名前付きキーを持っていれば、それらは私のコードが実行された後でも名前が付けられますが、Renaudが与えたコードはあなたに与えられません – Andreas

関連する問題