从PHP中的数组获取随机词组?(Get random phrases from an array i

2019-10-17 13:21发布

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

EX功能

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

    return $random_array;
}

Answer 1:

把它们放在一个数组,并使用array_rand得到一个随机密钥。

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

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


Answer 2:

把它们在阵列中,并选择一个随机元素:

$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(); 看到一些其他的答案。



Answer 3:

<?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()由阿诺德·丹尼尔斯建议



Answer 4:

在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



Answer 5:

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



文章来源: Get random phrases from an array in PHP?
标签: php random