2012-11-20 51 views
1

我在<頭以下>部分回聲顏色隨機不工作

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

我在<身體下面>

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

當我的頁面加載時,CSS說以下:

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

即它看起來沒有顏色正在生成。

任何人都可以幫忙嗎?

+0

做u有權fileextension? .php – sailingthoms

+4

這裏可以工作http://codepad.org/D9abnwZL – j08691

+0

啊,我在head.php中的頭部代碼和body.php中的body。通過將它們都包含在body.php中它可以工作 – dvent

回答

1

這可能是因爲在你的頭上你的代碼段在不同的範圍比你的身體和多數民衆的代碼爲什麼$color是空白

如果$color是在一個函數嘗試使其成爲一個全局變量,而不是執行。

在設置頭部和身體某個點之前,您需要添加global $color;

+0

我在兩個地方都將它更改爲colordvent,如果它是示波器問題,仍然會遇到相同問題 – dvent

+0

,您仍然會遇到同樣的問題。 –

0

我的猜測是,你的echo是在功能,而你的任務是在全球範圍內,反之亦然。嘗試將global $color;功能,如果是這樣的話。

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)); 
} 
+2

+用於'dechex()'。 –