我有一個循環滑塊(最後一個元素後面跟着第一個元素)並且想要設置不同的顏色(基於3種顏色的範圍)。如何獲取最後一個元素既不是前一個元素又不是第一個元素的數組?
所以有兩個條件:以前的顏色和下一個顏色不能相同AND幻燈片數量(陣列中的元素)可能會有所不同。
很好的例子:
Array
(
[0] => yellow
[1] => blue
[2] => red
[3] => yellow
[4] => red
)
爲例如(因爲元素0和4是相同的顏色):
Array
(
[0] => yellow
[1] => blue
[2] => yellow
[3] => red
[4] => yellow
)
另一個不好例如具有多個元素(因爲元件2和3是相同的顏色):
Array
(
[0] => yellow
[1] => blue
[2] => red
[3] => red
[4] => blue
[5] => yellow
[6] => blue
)
這是我嘗試,但我不認爲這是好方法:
$i = 0;
$bgcolors = array();
foreach($slides as $slide) {
switch ($i % 3) {
case 0:
$bgcolors[] = 'yellow';
break;
case 1:
$bgcolors[] = 'blue';
break;
case 2:
$bgcolors[] = 'red';
break;
}
if ((count($slides) - $i) % 3 == 0) $i = 0;
$i++;
}
對於第一個(好的)例子它應該是藍色的顏色對吧?或者你需要不同的兩種顏色之間的所有顏色? –
@HareshVidja是的,沒錯。由於以前的顏色是紅色,下一個顏色是黃色,因此在這種情況下,藍色是唯一的選擇。 – Dacobah
你需要數組還是隻有第一種顏色才能滿足你的條件? –