PHP随机DIV问题

时间:2011-07-09 23:13:59

标签: php random

我尝试使用PHP来制作DIV随机位置。这是我的代码。

<?php
function DIV1()
{
    $choose = array("left", "right");
    $rand_keys = array_rand($choose, 1);
    echo "<div class=position1 style=\"float:left;width:100px;height:100px;background-color:#00f;float:".$choose[$rand_keys].";border:1px solid #000;\"></div>";
}
function DIV2()
{
    $choose = array("left", "right");
    $rand_keys = array_rand($choose, 1);
    echo "<div class=position2 style=\"float:left;width:100px;height:200px;background-color:#f00;float:".$choose[$rand_keys].";border:1px solid #000;\"></div>";
}
function DIV3()
{
    $choose = array("left", "right");
    $rand_keys = array_rand($choose, 1);
    echo "<div class=position3 style=\"float:left;width:200px;height:100px;background-color:#ff0;float:".$choose[$rand_keys].";border:1px solid #000;\"></div>";
}

echo '<div id="display" style="width:1016px;height:1016px;background-color:#333;">';
    $count = Math.floor(rand()*25) +15;
    for ($i=0; $i<$count; $i++)
    {
        echo DIV1();
        echo DIV2();
        echo DIV3();
    }

echo '</div>';
?>

我的代码可以混合div位置。但我有两个问题。

  1. 如何控制15 pieces 100*10010 pieces 100*2005 pieces 200*100 div混合随机显示?

  2. 如何控制白色空间部分?我想在显示区显示所有div。 width:1016px;height:1016px;,不要超出div#display

2 个答案:

答案 0 :(得分:3)

$sizes = array();

for ($i = 0; $i < 15; $i++) {
    array_push($sizes, $array(100,100));
}
for ($i = 0; $i < 10; $i++) {
    array_push($sizes, $array(100,200));
}
for ($i = 0; $i < 5; $i++) {
    array_push($sizes, $array(200,100));
}

for ($i = 0; $i < 30; $i++) {
   // Use array_rand() to pick out a random entry from $sizes and echo the div
}

关于它没有超出界限,只要让它随机顶部并在这些边界内留下考虑到div的宽度和高度。

答案 1 :(得分:0)

您可以使用rand()功能。

例如:

if (rand(0,10) == 1 )
{
    $sizes = 200;
}

rand()是生成一个随机整数