2013-08-30 156 views
-3

我想以混洗的方式显示数组值。如何洗牌数组值

例如:从数据库

<?php foreach($question as $article) { 
     $a[]= $article->answer; 
    echo"<pre>"; 
    print_r($a); 
    } ?> 



Array 
    (
    [0] => Language 
    [1] => 26 
    [2] => 7 
    [3] => English 
    [4] => English 
    [5] => English 
    [6] => dsfd 
    ) 

现在我越来越数组值和值显示为按钮

Language 
26 
7 
English 
English 
English 
dsfd 

但我需要在随机显示为

26 
English 
English 
    dsfd 
    7 
English 
Language 
+4

http://www.php.net/manual/en/function.shuffle.php – Kris

+1

你甚至检查文档?答案非常明显...... –

+1

在谷歌中输入你的问题标题告诉你答案:S – MLeFevre

回答

0

尝试

shuffle($a) 
print_r($a); 

这将洗牌阵列

+0

你为什么拥有'print_r'?没有必要进行洗牌,只有在洗牌成功时才显示。 –

+0

只要他正在接收一个数组,它将会成功,并且print_r将显示他的数组洗牌 –

+0

'shuffle'返回'TRUE'或'FALSE'因此'print_r'将显示'1'或者什么也不显示,但不是混洗阵列。 –

0
<?php  
    $array = array(1, 2, 3, 4, 5, 6); 
    shuffle($array); 
    die(var_dump($array)); 
?> 

返回值。 成功返回TRUE或失败返回FALSE。

0

使用

bool shuffle (array &$array) 

例如

shuffle($a); 

您可以后使用的print_r。

0

使用下面的函数。将具有键/值对的数组传递给该函数,并将数组和值保持不变,保持值和键不变。

function shuffle_assoc($array) { 
    $keys = array_keys($array); 
    shuffle($keys); 

    $result = array(); 
    foreach ($keys as $k) { 
     $result[$k] = $array[$k]; 
    } 

    return $result; 
} 

或使用shuffle($keys);一个正常的阵列