在PHP中随机化一些字符串

时间:2014-07-14 15:40:19

标签: php string random

我想随机化一些像这样的字符串。

默认字符串:

one,two,three,four,five,six,seven

我需要:

six,three,one,seven,two,four,five

我只需要按照每个人的顺序随机,与,分开。

如何在PHP中完成?

3 个答案:

答案 0 :(得分:3)

$input = 'one,two,three,four,five,six,seven';
$myArray = explode(',', $input);
shuffle($myArray);
echo implode(',', $myArray);

Works like a charm

答案 1 :(得分:2)

// We can't shuffle a list, but we can shuffle an array.

$things = array('one','two','three','four','five','six','seven');

// Shuffle randomly changes the order of the array. It uses references so it doesn't
// make a copy of the array.

shuffle($things);

// then to display on the screen, either

foreach ($things as $thing) {
    echo $thing.'<br>';
}

// or

echo implode(',', $things);

答案 2 :(得分:1)

创建两个数组。在第一个,放入有序列表。

$things = array('one','two','three','four','five','six','seven');

然后创建一个与$ things数组具有相同元素数的随机数数组。

$numItems = count($things)
for ($i = 0; $i < $numItems; $i++) {
        $randomLst[$i] = $i;
        $temparray[$i] = mt_rand(0, 1073741823);
    }
    array_multisort($temparray, SORT_ASC, $randomLst, SORT_ASC);

所以现在你有了你的项目数组和一组随机数字。使用随机数字数组来调用您的项目数组。这样的事情。

for ($i = 0; $i < $numItems; $i++) {
   echo $things[$randomLst][i];
}

当您需要新的随机列表时,请创建一个新的$ randomLst。