生成随机字符串php?

时间:2012-01-28 20:46:27

标签: php while-loop

我试图通过php生成一个随机的html,我无法让它工作?

$i = 96;
$minder = '';
while($i >= 0) {
    // 1
    if (rand(0, 1) == 0) {
        $minder . '<li class="0 1" title="1"></li>';
    // 2
    } else {
        $minder . '<li class="0 2" title="2"></li>';
    }
    --$i;
}
echo $minder;

如何让li附加到字符串minder?我最终应该列出96 li

4 个答案:

答案 0 :(得分:4)

语法应为:

$minder .= '<li class="0 2" title="2"></li>';

请注意.=

使用.(即$string = "first part"." second part";)连接两个字符串,但如果要将字符串连接到现有变量,则可以做很多事情:

$existing_string = $existing_string." some more text";

或使用简写语法,这很简单:

$existing_string .=" some more text";

也是......你的班级名字! 使用数字作为班级名称会让您头疼。从技术上讲,你可以这样做,但它需要警惕,你可能只想通过打电话给你的班级'class_1'和'class_2'等来避免它。来自w3c

  

在CSS1中,类名称可以以数字(“。55ft”)开头,除非它   是一个维度(“。55in”)。在CSS2中,此类被解析为未知   尺寸(允许将来添加新单位)。要做   “.55ft”是一个有效的类,CSS2要求转义第一个数字   (“。\ 35 5英尺”)

考虑到避免这种情况是多么容易,我会关注Triptych's rule

  

名称[应]以下划线(_),短划线( - )或a开头   字母(a-z),后跟任意数量的破折号,下划线,字母,   或数字。有一个问题:如果第一个字符是破折号,那么   第二个字符必须是字母或下划线,名称必须是   至少2个字符。

答案 1 :(得分:1)

使用append / assign运算符.=

$minder .= '<li class="0 1" title="1"></li>';

此外,更有效的方式来做你需要的:

while($i >= 0) {
        $rand = mt_rand(1,2);
        $minder . '<li class="0 $rand" title="2"></li>';
    }
    --$i;
}

答案 2 :(得分:0)

我认为你的意思是$minder .=,而不是$minder .

答案 3 :(得分:0)

你没有给任何东西分配$ minder。连接运算符“。”不做任务。

试试这个

$minder .= '<li class="0 2" title="2"></li>';