HTML - 嵌套用于循环输出span元素

时间:2017-09-27 18:21:16

标签: php html

我一直在尝试编写每次通过元素循环时输出不同颜色的代码,以创建色轮类型的东西。我仍然是PHP的新手以及它如何与html交互,但这是我到目前为止的代码。这会输出一堆不同的span元素,但它们都是相同的颜色,每次循环时它们应该是不同的。顺便说一句,迭代器在包含的单独文件中设置为50。

 <h1>Using Iterator: <?php  echo $iterator; ?></h1>

<?php
$red = 0;
$green = 0;
$blue = 0;

// LOOPS HERE
for($red = 0; $red < 255; $red+$iterator){

    for($green = 0; $green < 255; $green+$iterator){

        for($blue = 0; $blue < 255; $blue+$iterator){
            echo "<span style='background-color: rgb(0, 50, 150)'
                    title='#003296'></span>";

        $hexred = sprintf('%02x', $red);

        }
    }
}
?>

3 个答案:

答案 0 :(得分:0)

替换

reload

有了这个,

echo "<span style='background-color: rgb(0, 50, 150)'
                title='#003296'></span>";

答案 1 :(得分:0)

您的代码通常有效。你只需要做两件事:

  1. 使用+=代替+
  2. 在for循环中正确增加
  3. 在输出中使用颜色变量
  4. 像这样:

    $iterator = 50;
    for($red = 0; $red < 255; $red+=$iterator){
    
        for($green = 0; $green < 255; $green+=$iterator){
    
            for($blue = 0; $blue < 255; $blue+=$iterator){
                echo "<span style='background-color: rgb($red, $green, $blue)'
                            title='#003296'>&nbsp;</span>";
            }
        }
    }
    ?>
    

答案 2 :(得分:-1)

试试这个,同性恋。

<?php
$colours = colourArray();

// Be careful playing with $step! 0 will likely crash your program. 
// This function returns an array of all possible RGB values in increments
// dictated by $step
// I took this function from: https://stackoverflow.com/questions/21268983/array-of-all-rgb-permutations-in-php?answertab=active#tab-top
function colourArray($step = 25) {
    $colours = array();
    foreach(range(0,255,$step) as $r) {
        foreach(range(0,255,$step) as $g) {
            foreach(range(0,255,50) as $b) {
                $colours[] = array($r,$g,$b);
            }
        }
    }
    return $colours;
}

foreach ($colours as $spectrum) {
    $r = $spectrum[0];
    $g = $spectrum[1];
    $b = $spectrum[2];

    echo "<span style=\"background-color: rgb($r, $g, $b)\">$r, $g, $b</span>";
}