用php

时间:2018-03-11 20:15:21

标签: php random count words

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

我有这个代码,我指定每个单词。

<?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)]; ?>

正如我所说,一个词正确显示给我,但我想展示不止一个。

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

3 个答案:

答案 0 :(得分:1)

你可以这样做:

# empid empname.x managerid.x empname.y 
#      1      emp1           0      NA           
#      2      emp2           0      NA           
#      3      emp3           1    emp1           
#     13     emp13           2    emp2           
#     11     emp11           2    emp2           
#      9      emp9           1    emp1           
#      8      emp8           3    emp3          
#      7      emp7           2    emp2 

<?php echo array_shift( $randomThings ); ?> 方法获取数组的第一个元素并将其从数组中取出。

如果你想让它随机,你可以在执行array_shift之前使用数组上的array_shift()函数进行混洗。

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

的php文档

答案 1 :(得分:1)

以下是片段,在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]];
?>

答案 2 :(得分: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();