2017-06-17 96 views
2

我需要從一個簡單的php數組中創建3個具有3個不同隨機值的數組。最好的方法是什麼?使用array_rand()選擇隨機密鑰,然後過濾陣列中的密鑰並再次選擇另一組隨機密鑰?使用數組中的不同值創建多個數組

$input = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); 

輸出示例:

array1 : 4, 2, 7 
array2 : 8, 3, 15 
array3 : 16, 1, 11 

回答

2

洗牌它,它截斷至9層的元件,大塊它在3的。

代碼:(Demo

$input = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); 
shuffle($input); 
var_export(array_chunk(array_slice($input,0,9),3)); 

可能的輸出:

array (
    0 => 
    array (
    0 => 5, 
    1 => 2, 
    2 => 11, 
), 
    1 => 
    array (
    0 => 3, 
    1 => 8, 
    2 => 4, 
), 
    2 => 
    array (
    0 => 12, 
    1 => 13, 
    2 => 15, 
), 
) 
+0

當然!非常感謝! :) – Dejavu

+1

@Dejavu ...你也可以使用:'list($ array1,$ array2,$ array3)= array_chunk(array_slice($ input,0,9),3); var_export($ array1); var_export($ array2); var_export($ array3);'如果你想分配單獨的變量。 – mickmackusa

相關問題