2012-01-28 31 views
0

我想通過PHP生成一個隨機的html位,我不能得到它的工作?生成一個隨機字符串的PHP?

$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

語法應爲:

$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,類名可以與啓動一個數字(「.55英寸」),除非它是一個尺寸(「.55英寸」)。在CSS2中,這些類被解析爲未知的尺寸(以允許將來添加新的單元)。爲了使 「0.55英尺」有效的類,CSS2要求的第一位進行轉義 (「\ 355英尺」)

鑑於它是多麼容易,只是避免這種情況,我會跟着Triptych's rule上此:

的名稱[應當]開始用下劃線(_),破折號( - ),或一個 字母(A-Z),隨後通過任何數量破折號,下劃線,字母, 或數字。有一個問題:如果第一個字符是破折號,則第二個字符必須是字母或下劃線,並且名稱必須至少爲2個字符,長度爲 。

0

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

1

使用附加/賦值運算符.=

$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; 
} 
+0

非常好,謝謝! – cgwebprojects 2012-01-28 20:50:28

0

。連接運算符「。」不做任務。

試試這個

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