【问题标题】:Trying the create a random colour generator in PHP尝试在 PHP 中创建随机颜色生成器
【发布时间】:2012-12-15 19:17:11
【问题描述】:
<?php
$_50Shades = array("#150517", "#250517", "#2B1B17", "#342826");

$randKeys = array_rand($_50Shades, 1);

print_r ("<BODY BGCOLOR=\"$randKeys\">");
?>

这是我使用 php 手册和随机颜色生成器教程整理的代码。 我是 PHP 和一般编程的初学者,所以我仍在努力掌握一些东西。 结果只是黑屏,而不是生成我输入的随机颜色之一?

【问题讨论】:

  • 查看HTML源代码,看看有什么问题。

标签: php html random generator


【解决方案1】:
$_50Shades = array("#150517", "#250517", "#2B1B17", "#342826");
$randKeys = $_50Shades[rand(0,count($_50Shades)-1)];
print_r ("<BODY BGCOLOR=\"$randKeys\">");

或者如果你坚持使用array_rand:

$randKeys = $_50Shades[array_rand($_50Shades)];

【讨论】:

  • 您好,感谢您这么快的回复,您能解释一下您为什么在第 2 行进行这些更改吗?我很好奇,因为我尝试这样做只是为了获得一些知识?再次感谢
  • rand 会做同样的事情,如果你想拉一个随机数,在你的情况下是一个索引。老实说,我不确定我为什么选择rand 而不是array_rand
  • array_rand 返回数组的键,您可以通过一个键访问数组的元素,在这种情况下,它可以是 $_50Shades[0] 或 [1] 或 [2] 或 [3]
  • 如果只返回1,这是默认值,它将返回一个整数而不是数组
  • 非常感谢 :) 现在说得通了,我意识到我哪里出错了。
【解决方案2】:

PHP documentation

如果您只选择一个条目,array_rand() 会返回随机条目的键。否则,它返回随机条目的键数组。

【讨论】:

    【解决方案3】:

    array_rand 返回对应于所选值的,而不是值。

    试试这个:

    $_50Shades = array(.....);
    $randcol = $_50Shades[array_rand($_50Shades)];
    echo "<body style=\"background-color:".$randcol.";\">";
    

    【讨论】:

      【解决方案4】:

      array_rand 返回一个键,而不是实际值。做这样的事情。

      <?php
      $_50Shades = array("#150517", "#250517", "#2B1B17", "#342826");
      
      $randKeys = array_rand($_50Shades, 1);
      
      print_r ("<BODY BGCOLOR=\"".$_50Shades[$randKeys]."\">");
      ?>
      

      【讨论】:

        猜你喜欢
        • 2013-04-02
        • 2011-11-07
        • 2015-11-07
        • 1970-01-01
        • 2016-02-20
        • 2020-11-27
        • 2016-07-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多