从PHP中的数组中获取随机短语?

时间:2013-01-02 01:48:09

标签: php random

我有这个短语ex:test 1,test 2,test 3,现在如何在随机模式下显示加载页面?

ex function

function random()
{
    $array = ['test 1', 'test 2', 'test 3'];

    return $random_array;
}

5 个答案:

答案 0 :(得分:4)

将它们放入数组中并使用array_rand获取随机密钥。

function random()
{
  $phrases = array(
    'random test 1',
    'random test 2',
    'random test 3'
  );

  return $phrases[array_rand($phrases)];
}

答案 1 :(得分:3)

将它们放入数组并选择一个随机元素:

$array = array();
$array[] = 'test1';
$array[] = 'test2';
$array[] = 'test3';
$array[] = 'test4';

echo $array[ mt_rand( 0 , (count( $array ) -1) ) ];

或者你可以随意洗牌并选择第一个元素:

shuffle( $array );

echo $array[0];

或者,我刚刚发现的另一种方法:

使用array_rand();查看其他一些答案。

答案 2 :(得分:1)

<?php

function random(){
    $phrases = array(
        "test1",
        "test2",
        "test3",
        "test4"
        );

    return $phrases[mt_rand(0, count($phrases)-1)]; //subtract 1 from total count of phrases as first elements key is 0
}

echo random();

这里有一个工作示例 - http://codepad.viper-7.com/scYVLX

修改的 根据Arnold Daniels的建议使用array_rand()

答案 3 :(得分:1)

php中最好最短的解决方案是:

$array = [
    'Sentence 1',
    'Sentence 2',
    'Sentence 3',
    'Sentence 4',
];

echo $array[array_rand($array)];
对于PHP 7.1中的上述答案,

更新:是使用random_int函数而不是mt_rand,因为它更快:

$array = [
    'Sentence 1',
    'Sentence 2',
    'Sentence 3',
    'Sentence 4',
];

echo $array[random_int(0, (count($array) - 1))];
  

有关mt_rand v.s random_int的详情,请参阅以下链接:   https://stackoverflow.com/a/28760905/2891689

答案 4 :(得分:0)

将它们放在一个数组中并返回一个随机值。