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 に答える