1

我有这样的短语,例如:测试 1、测试 2、测试 3,现在如何以随机模式在加载页面上显示?

前功能

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

    return $random_array;
}
4

5 回答 5

4

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

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

  return $phrases[array_rand($phrases)];
}
于 2013-01-02T01:52:31.153 回答
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();查看其他一些答案。

于 2013-01-02T01:51:07.850 回答
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

编辑array_rand()按照阿诺德丹尼尔斯的建议 使用

于 2013-01-02T01:53:24.383 回答
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_randvs的更多信息,random_int请参见以下链接: https ://stackoverflow.com/a/28760905/2891689

于 2017-07-05T12:53:41.480 回答
0

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

于 2013-01-02T01:49:23.810 回答