我试图通过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
?
答案 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>';