【问题标题】:How to display random text from Array? [duplicate]如何显示数组中的随机文本? [复制]
【发布时间】:2018-08-28 06:33:51
【问题描述】:

如何从数组中提取随机名称?

...
$all = "$a1$b1$c1$d1$e1";
$all = print_r(explode("<br>",$all));
echo $all;

----
Array ( [0] => lizzy [1] => rony [2] => )

我需要随机文本出现在 echo 中

【问题讨论】:

  • @castis 是的,仍然需要帮助。
  • 我认为您需要退后几步。 $a1/$b1/etc 变量是怎么回事?为什么要连接它们,然后在 &lt;br&gt; 标签上爆炸结果字符串?为什么要将调用结果分配给 print_r 然后回显它?这看起来像是您在尝试了很多事情之后最终得到的代码,并且在它们不起作用时没有删除它们。
  • @iainn 完整的代码有点复杂,每个字母都有不同的名字。然后我用 br 将它们分开。现在我每次都需要从数组中提取一个随机名称

标签: php


【解决方案1】:
echo $input[array_rand($all)];

这会在数组中获取一个随机索引,然后回显该值。

【讨论】:

  • 是的,我之前试过了。但它不会拉随机名称。 " array_rand() 期望参数 1 是数组,布尔值在"
  • 这意味着您设置 $all 变量的方式有问题。你可以在调用explode 之后发布该变量的var_dump 或print_r 吗?
【解决方案2】:

获取随机字符:

rand_chars("ABCEDFG", 10); // Output: GABGFFGCDA 

获取随机数:

echo rand(1, 10000); // Output: 5482

如果您想根据给定的输入生成随机字符串:

$chars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$clen   = strlen( $chars )-1;
$id  = '';
$length = 10;

for ($i = 0; $i < $length; $i++) 
{
     $id .= $chars[mt_rand(0,$clen)];
}

echo ($id); // Output: Gzt6syUS8M

文档: http://php.net/manual/en/function.rand.php

【讨论】:

    猜你喜欢
    • 2015-07-31
    • 2018-10-19
    • 1970-01-01
    • 2021-05-31
    • 2016-11-26
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多