Как повторить динамическую строку в PHP - PullRequest
0 голосов
/ 28 октября 2019

У меня есть динамика, созданная PHP, которая производит различные квадраты с уникальными размерами и цветами. Теперь я хочу, чтобы на экране появилось 100 таких квадратов.

Я попытался поместить свой код в цикл for, но он не работает:

<?php 
$random_number = rand(10,100);
$color_array=array("yellow"=>"0","red"=>"1","green"=>"2","blue"=>"3","black"=>"4","brown"=>"5", "gray"=>"6");
$random_color = array_rand($color_array,1);
$x= '<div style="width:' . $random_number . 'px;height:' . $random_number . 'px;background-color:' . $random_color . '">';
for ($i = 0; $i <= 100; $i++) {
    echo $x;
}
?>

Сообщения об ошибках отсутствуют, вместо 100 отображается только один квадрат.

Ответы [ 2 ]

2 голосов
/ 28 октября 2019

Ваши переменные $random_number, $random_color and $x должны быть повторно объявлены внутри вашего цикла. Причина, по которой вы видели только один div, потому что вы забыли закрыть его. Это все еще производило их, но внутри друг друга.

<?php

$color_array=array("yellow"=>"0","red"=>"1","green"=>"2","blue"=>"3","black"=>"4","brown"=>"5", "gray"=>"6");

for ($i = 0; $i <= 100; $i++) {
  $random_number = rand(10,100);  
  $random_color = array_rand($color_array,1);
  $x= '<div style="width:' . $random_number . 'px;height:' . $random_number . 'px;background-color:' . $random_color . '"></div>';
  echo $x;
}
?>

В противном случае вы будете повторять одно и то же снова и снова.

0 голосов
/ 28 октября 2019
<?php
        $color_array=array("yellow"=>"0","red"=>"1","green"=>"2","blue"=>"3","black"=>"4","brown"=>"5", "gray"=>"6");

        for ($i = 0; $i <= 100; $i++) {
          echo '<div style="width:' . rand(10,100) . 'px;height:' . rand(10,100) . 'px;background-color:' . array_rand($color_array,1) . '"></div></br>';
        }
?>
...