在PHP中的foreach循环
$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