2013-10-23 38 views
1

這可能是一個愚蠢的問題,所以提前抱歉。元素在數組中的漸變分佈

我需要在數組中分配2種元素,就像漸變(想到的圖像)。

我會盡力解釋(再次抱歉,我不知道一些條款)。

我有X,Y對象的數組,我想是這樣安排它們(array.length將被固定)

[X,X,X,Y,X,Y,X, Y,Y,Y] - 在中間,當X消失時,y開始顯示,並且我總是確信array [0]總是X,而array [array.lenght-1]總是Y.

如何做到這一點?

對不起,如果問題不是很清楚。

+0

爲什麼你需要這樣做?我感覺這可能是[X-Y問題](http://mywiki.wooledge.org/XyProblem)。 –

+0

你嘗試了什麼? – Holger

+0

您正在尋找某種形式的抖動算法。 http://en.wikipedia.org/wiki/Dither我想我已經找到了方法,幾個小時後我會上傳一個原型。 – Pier

回答

1

這是不完美的(甚至沒有略),但它威力酬勞您的需求,至少是它可能給你一些啓示:

<?php 
$Class1 = 'a'; 
$Class2 = 'b'; 

print_r(gradient($Class1, $Class2, 10)); 

function gradient($class1, $class2, $size){ 
    $result = array(); 

    for($i=0; $i<$size; $i++){ 
     $result[$i] = rand(0, 99) >= $i/$size*100 ? $class1 : $class2; 
    } 

    return $result; 
} 
?> 

樣本輸出(更高的尺寸將使它更接近你的例子):

Array ([0] => a [1] => a [2] => a [3] => a [4] => b [5] => b [6] => a [7] => b [8] => b [9] => a) 
+0

我接受了這一點,因爲它指向了正確的方向,即使它不是真正實現我目標的正確功能。不管怎樣,非常感謝! –

+0

@DavideArcinotti隨時更新問題或張貼您的答案作爲答案,我很想知道你的意見。 –