回声随机颜色不起作用

时间:2012-11-20 22:14:15

标签: php html css random echo

我的<<头>节

<?php
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
?>

我的&lt;&lt;身体&gt;

<div class="featured-details" style="background-color: <?php echo $color; ?>;">

当我的页面加载时,CSS会说明以下内容:

<div style="background-color: ;" class="featured-details">

即。似乎没有生成任何颜色。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

可能是您头脑中的代码段在与您身体中的代码不同的范围内执行,这就是$color为空的原因

如果函数中有$color,请尝试将其作为全局变量。

在将其设置在头部以及身体的某个位置之前,您需要添加global $color;

答案 1 :(得分:0)

我的猜测是你的echo正在运作,而你的作业在全球范围内,反之亦然。如果是这种情况,请尝试将global $color;置于函数中。

答案 2 :(得分:0)

它对我有用。检查以确保在回显时$color变量设置正确。

使用dechex()

可以简化颜色生成
$color = '#'.dechex(rand(0,15)).dechex(rand(0,15)).dechex(rand(0,15)).dechex(rand(0,15)).dechex(rand(0,15)).dechex(rand(0,15));

当然,你可以通过循环来进一步完善它:

$color = '#';
for ($i = 0; $i < 6; $i++) {
    $color .= dechex(rand(0, 15));
}