【问题标题】:printing out 1 random letter of a word php functions [duplicate]打印出一个单词php函数的1个随机字母[重复]
【发布时间】:2014-05-28 15:26:29
【问题描述】:

我想使用 strlen()、substr() 和 rand() 将我名字中的随机字符打印到屏幕上。

<html>
<p>
<?php
// Use strlen(), substr(), and rand() to
// print a random character from my name to the screen.
$name = "jordi";

$length = strlen("$name");
$length = rand();
$partial = substr($lengt, 0,5);

print $name. "<br />";
print $length. "<br />";
print $partial. "<br />";
?>
</p>
</html>

现在的结果(数字当然是随机生成的):

乔迪

9286122

92861

谁能帮我解决这个问题。

【问题讨论】:

  • 看看stackoverflow.com/questions/5311349/…。另外,为什么要使用 strlen("$name")?
  • 您的代码中有错字:$lengt 尚未设置。你为什么不使用就覆盖$length
  • 这是一个练习,其中一项要求是“创建一个新变量 $name 并将您的名字存储在其中。” (不是我的想法:S)@misiur
  • 哦,好的。但是,重要的是您应该从该练习中学到一些东西吗?你能说出 strlen($name)、strlen("$name") 和 strlen('$name') 之间的区别吗? Take a look here if not。学习愉快!

标签: php random substring strlen


【解决方案1】:

以下是使用作业所需的所有功能的步骤 -

$nameLength = strlen($name); // gets the length of the name
$randomNumber = rand(0, $nameLength - 1); // generates a random number no longer than the name length
$randomLetter = substr($name, $randomNumber, 1); // gets the substring of one letter based on that random number
echo($randomLetter);

【讨论】:

  • 我认为应该是rand(0, $nameLength - 1),因为文档说第二个参数是要返回的最高值。
  • 我刚刚抓住了@Rickkwa 并做出了改变。
  • 仅供参考,Jordi,查看PHP Docsecho,了解它是如何工作的,带括号和不带括号。
【解决方案2】:
$name = "jordi";
$rndCharIndex = rand(0, strlen($name) - 1);  // random character index for the string
$rndChar = $name[$rndCharIndex];  // Look up the character in that random index
echo $rndChar;

【讨论】:

  • 请提供解释。
猜你喜欢
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2019-01-27
相关资源
最近更新 更多