从Foreach中选择1个随机结果

时间:2019-08-20 00:34:06

标签: php

我有下面的代码,它非常适合从我们的$base位置返回所有文件。但是,我想知道我们如何只能从中选择一个随机结果并将其显示在页面上。

共有44项结果可供混洗,我希望它在用户每次查看该页面时显示一个随机帐户。

$red = file_get_contents($base);
$matches = explode(PHP_EOL, $red);
foreach ($matches as $match){
    $match_explode_1 = explode(' password:', $match);
    $match_explode_2 = explode(' username:', $match_explode_1[0]);
    $data['email_addresss'] = str_replace('email:', '', $match_explode_2[0]);
    $data['username'] = $match_explode_2[1];
    $data['password'] = base64_encode($match_explode_1[1]);

    print '<pre>';
    print_r($data); 
    print '</pre>';
}

2 个答案:

答案 0 :(得分:1)

从数组中选择单个随机值有两种可能性。您可以使用shuffle对数组进行随机化处理,然后获取第一个元素。或者,您可以使用array_rand在数组中选择一个随机键。例如:

shuffle($matches);
$match = $matches[0];

$match = $matches[array_rand($matches)];

答案 1 :(得分:0)


$random=shuffle($matches) ?:  array_rand($matches,1);
$firstRandom=$random[0]:

?:如果是操作员

,很快就是操作员