1

我的 <head> 部分中有以下内容

<?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)];
?>

我的 <body> 中有以下内容

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

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

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

即似乎没有生成颜色。

任何人都可以帮忙吗?

4

3 回答 3

1

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

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

您需要先添加global $color; ,然后再将其设置在头部以及身体的某个位置。

于 2012-11-20T22:19:25.767 回答
0

我的猜测是您echo的功能正常,而您的分配在全局范围内,反之亦然。global $color;如果是这种情况,请尝试输入功能。

于 2012-11-20T22:20:01.743 回答
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));
}
于 2012-11-20T22:20:10.137 回答