用PHP打印姓名中的随机字母

用PHP打印姓名中的随机字母,php,Php,我刚开始学习PHP,但我无法解决一个简单的问题。你能帮我说说为什么我的问题不起作用吗?问题是: 创建一个新变量$name并将您的名称存储在其中 然后从您的姓名中随机打印一个字符。使用strlen(string)、rand(min、max)和substr(string、start、length)的知识来完成此操作 提示:请记住substr()将字符串中的字符视为零索引数组(第一个字母位于零位置)。这意味着字符串中的最后一个字符的位置长度为-1 我试过了,但没有结果 <html>

我刚开始学习PHP,但我无法解决一个简单的问题。你能帮我说说为什么我的问题不起作用吗?问题是:

  • 创建一个新变量$name并将您的名称存储在其中
  • 然后从您的姓名中随机打印一个字符。使用strlen(string)、rand(min、max)和substr(string、start、length)的知识来完成此操作
  • 提示:请记住substr()将字符串中的字符视为零索引数组(第一个字母位于零位置)。这意味着字符串中的最后一个字符的位置长度为-1

    我试过了,但没有结果

    <html>
        <p>
        <?php
        $name = "George";
        $fl = substr($name, 0, strlen($name));
        $sl = substr($name, 0, 1);
        print rand($fl,$sl);
        ?>
        </p>
    </html>
    
    
    
    


    我想问题出在兰德……我不能随机化带有id或其他东西的项目?我可以打印$sl或$fl。

    可以这样做:

    <?php
    $name = "George";
    $nameLength = strlen($name);
    $randomNumber = rand(0, $nameLength - 1);
    $randomLetter = substr($name, $randomNumber, 1);
    echo $randomLetter;
    ?>
    
    
    

    Source:

    RTFM:您将字符串传递给一个函数,该函数期望整数作为其参数。另外,你正在倒退。您生成一个随机整数,然后将其用作substr的参数以提取随机字符,而不是提取字符串的第一个/最后一个字符,并尝试/失败使用这些字符生成随机数。您的问题确实是rand。你没有正确使用它。首先,获取PHP显示的错误,以便查看错误发生的时间、原因和位置。第二,查找rand()函数,尝试了解它需要什么参数以及返回什么。此外,不需要
    substr()
    ,尽管这是您的硬件要求:
    echo$name[rand(0,strlen($name)-1)]