2011-02-05 84 views
0

我需要一個數組的問題我有幫助,到目前爲止,我有這樣的:幫助用PHP隨機隨機序列

$array1 = array('foo1', 'foo2', 'foo3', 'foo4', 'foo5'); 

$array2 = array('newfoo1', 'newfoo2', 'newfoo3', 'newfoo4', 'newfoo5'); 

$random1 = array_rand($array2); 
$random2 = $array2[$random1]; 

foreach($array1 as $key){ 
echo $key . '<br />'; 
echo $random2 . '<br /><br />'; 
} 

,輸出:

foo1 
newfoo4 

foo2 
newfoo4 

foo3 
newfoo4 

foo4 
newfoo4 

foo5 
newfoo4 

但我想「newfoo4」(數組2 )是一個隨機的項目所以會輸出somethng這樣的:

foo1 
newfoo3 

foo2 
newfoo4 

foo3 
newfoo1 

foo4 
newfoo5 

foo5 
newfoo2 

而不是相同的,

BUT還允許數組2的重複,以便ARRAY1和數組2不必具有在其陣列相同的量的項目....

所以,例如,如果有ARRAY1 5項和陣列2只3項結束結果輸出可能是:

foo1 
newfoo3 

foo2 
newfoo1 

foo3 
newfoo3 

foo4 
newfoo2 

foo5 
newfoo3 

...我希望這是有道理的人......

回答

2
$array1 = array('foo1', 'foo2', 'foo3', 'foo4', 'foo5'); 
$array2 = array('newfoo1', 'newfoo2', 'newfoo3', 'newfoo4', 'newfoo5'); 

foreach($array1 as $key){ 
    echo $key . '<br />'; 
    echo $array2[array_rand($array2)] . '<br /><br />'; 
} 
+0

謝謝單身會標記爲答案,當我可以:) – Dizzi 2011-02-05 23:06:34

0

嘗試把此行

$random2 = $array2[array_rand($array2)]; 

到您的foreach循環,就像這樣:

foreach($array1 as $key){ 
    $random2 = $array2[array_rand($array2)]; 
    echo $key . '<br />'; 
    echo $random2 . '<br /><br />'; 
} 
0

怎麼這樣呢?

foreach($array1 as $key){ 
$rand_num = rand(0, count($array2)); 
echo $key . '<br />'; 
echo $array2[$rand_num] . '<br /><br />'; 
}