$browsers = $day1;
foreach($browsers as $browser)
{
echo "<input type='checkbox'/>$browser";
}
當我使用這段代碼時,它給出了單行輸出,但我希望在單行中打印兩個條目,並且在中斷之後打印兩個條目。在PHP中的foreach循環
例子:
1 2
3 4
5 6
誰能告訴我怎麼才能使用循環中的斷行?
$browsers = $day1;
foreach($browsers as $browser)
{
echo "<input type='checkbox'/>$browser";
}
當我使用這段代碼時,它給出了單行輸出,但我希望在單行中打印兩個條目,並且在中斷之後打印兩個條目。在PHP中的foreach循環
例子:
1 2
3 4
5 6
誰能告訴我怎麼才能使用循環中的斷行?
從你在說什麼,我想你的意思是你想讓每個複選框和標籤在一個新的行上。
foreach($browsers as $browser){
echo '<p><input type="checkbox" /><label>'.$browser.'</label></p>';
}
Ofcourse,你想添加在每個輸入標籤(和label
標籤)一name
屬性,如果你希望能夠處理它們在服務器端。
如果我給你正確的,你想顯示兩個在每一行不是休息後,試試這個
echo "<p>";
for($i=0;$i<count($browsers);$i++) {
if($i>0 && ($i%2==0)) { echo "</p><p>"; }
echo "<input type='checkbox' name='browser[".$browsers[$i]."]' /><label>".$browsers[$i]."</label>";
}
echo "</p>";
編輯發表評論:
,如果它不枚舉,仍然很容易:
$i=0;
echo "<p>";
foreach ($browsers as $randomstuff=>$browser) { //or whatever array structure.
if($i>0 && ($i%2==0)) { echo "</p><p>"; }
echo "<input type='checkbox' name='browser[".$browsers."]' /><label>".$browsers."</label>";
$i++;
}
echo "</p>";
如果$ browsers不是枚舉列表? – 2011-03-04 04:15:35
$ kbrowser = array_keys($ browsers); $ browsers [$ kbrowser [$ i]] – Joseadrian 2011-03-04 04:18:19
更新了anser的枚舉情況。 – Arda 2011-03-04 04:18:52
如果這是你想要的輸出:
browser1 browser2
browser3 browser4
...
browserN-1 browserN
你可以試試這個:
$bIndex = 0;
foreach($browsers as $browser)
{
echo "<input type='checkbox'/>$browser";
if (($bIndex % 2) == 1) { // only true for odd bIndex values
echo "<br>";
}
$bIndex++;
}
如果它是一個數值數組,也可以使用'foreach($ browser作爲$ bIndex => $ browser)'。 – 2011-03-04 05:09:54
'$瀏覽器爲$ I => $ browser',然後使用條件$我打破它 – Joseadrian 2011-03-04 04:08:42
能否請您更spesific? – Arda 2011-03-04 04:09:19
你能把你的鉛筆分成兩組嗎?該算法**完全一樣** – 2011-03-04 04:16:40