2013-12-10 25 views
-1

如何在每個循環中顯示一個數組?例如與此代碼我可以顯示隨機顏色代碼爲每個循環,但我需要通過DESC顯示訂單:在PHP循環中按排序顯示數組值

$Colors = array('111', '222', '333', '444', '555'); 

$i = 1; 

while($i <= $Limit){ 
    echo "Color Code:". $Colors[array_rand($Colors)]."<br>"; 
$i++; 
} 

,這是我的結果和問題:

Color Code:333 
Color Code:333 
Color Code:444 
Color Code:111 
Color Code:555 
Color Code:222 
Color Code:111 
Color Code:222 
Color Code:555 
Color Code:222 
Color Code:333 
Color Code:444 

我怎麼能顯示結果是這樣的:

Color Code:111 
Color Code:222 
Color Code:333 
Color Code:444 
Color Code:555 
Color Code:111 
Color Code:222 
Color Code:333 
Color Code:444 
Color Code:555 
Color Code:111 
Color Code:222 
... 
+2

這段代碼在世界上做了什麼? –

+0

您正在從順序數組中選擇隨機條目並希望按順序列出它們? – AbraCadaver

+0

不隨機,按順序 – Alireza

回答

1
while($i <= $Limit){ 
    echo "Color Code:". $input[$i % count($input)]."<br>"; 
    $i++; 
} 
$Colors

或替代$input根據什麼變量實際上是調用。

+0

@MaciejSz你可以在循環之外移動count;技術上更有效率,但我認爲這不會引起20個項目的注意。 –

+0

直到兩年後,當不明朗的數組長到2M時......我只是說:它應該是自動的。 –

+0

@Explosion Pills謝謝我的朋友 – Alireza

0

這應該是訣竅!

for($i = 0; $i < sizeof($Colors); $i++){ 
    echo "Color Code:". $Colors[$i]."<br>"; 
} 
1
<?php 
$Colors = array('222', '111', '333', '555', '444'); 
sort($Colors); 

for($i = 0; $i < count($Colors); $i++) 
{ 
    printf("Color code: %s <br />", $Colors[$i]); 
} 
?> 
+0

這是一個非常簡單的例子中的一個小型靜態數組,不確定線程​​安全性在這裏真的會成爲一個問題。我看到的唯一問題是,如果他們將值推入他們正在迭代的數組中,他們不應該這樣做,並且不在他們的問題中。 –

+0

謝謝你我的朋友。 – Alireza