php 随机显示几个单词

Show several words randomly with php

我需要在我的网站上加载页面时显示自动字词。我设法显示了一个词,但我看不到一个以上的词。重要的是不要重复这些词。

我有这段代码,我在其中指定了每个单词。

<?php


$randomThings = array(
    'random thing 1',    
    'random thing 2',    
    'random thing 3',    
    'random thing 4',    
    'random thing 5',    
    'random thing 6',    
    'random thing 7 ',    
);

?>

最后,我将这段代码粘贴到我希望它显示的位置。

<?php echo $randomThings[mt_rand(0,count($randomThings)-1)]; ?>

正如我所说,一个词向我显示正确,但我想显示多个。

非常感谢,对不起我的英文

你可以这样做:

<?php echo array_shift( $randomThings ); ?>

array_shift()方法获取数组的第一个元素并将其从数组中取出。

如果你想让它随机,你可以在你的数组上使用 shuffle() 函数来打乱它,然后再做 array_shift.

这是 shuffle() 的 php 文档 这是 array_shift()

的 php 文档

这里是代码片段,提供元素数量作为 rand_keys 中的第二个参数:

<?php
  $input = array(
    'random thing 1',    
    'random thing 2',    
    'random thing 3',    
    'random thing 4',    
    'random thing 5',    
    'random thing 6',    
    'random thing 7 ',    
  );
  $rand_keys = array_rand($input, 2);
  echo $input[$rand_keys[0]];
  echo $input[$rand_keys[1]];
?>

只需随机播放,然后弹出或移动:

<?php

$things =
[
    'The early bird catches the worm.',
    'Two wrongs don\'t make a right.',
    'Better late than never.'
];

shuffle($things);

while($item = array_pop($things))
    echo $item, "\n";

示例输出:

Better late than never.
The early bird catches the worm.
Two wrongs don't make a right.

或者做一个发电机:

$generator = function($things) {
    shuffle($things);
    return function() use (&$things) {
        return array_pop($things);
    };
};

$thing = $generator($things);
echo $thing();