我有这样的短语,例如:测试 1、测试 2、测试 3,现在如何以随机模式在加载页面上显示?
前功能
function random()
{
$array = ['test 1', 'test 2', 'test 3'];
return $random_array;
}
将它们放在一个数组中并使用array_rand获取随机密钥。
function random()
{
$phrases = array(
'random test 1',
'random test 2',
'random test 3'
);
return $phrases[array_rand($phrases)];
}
将它们放入一个数组并选择一个随机元素:
$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();
查看其他一些答案。
<?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()
按照阿诺德丹尼尔斯的建议
使用
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
vs的更多信息,random_int
请参见以下链接: https ://stackoverflow.com/a/28760905/2891689
将它们放入一个数组并返回一个随机值。