我得到了如下所示
Array ( [0] => SB_BL [1] => SB_BXL [2] => SB_GL [3] => SB_GXL )
因为我需要像下面这样的结构
<table>
<tr><td>SB_BL</td> <td>SB_BXL</td></tr>
<tr><td>SB_GL</td> <td>SB_GXL</td></tr>
</table>
@for($r = 1; $r <=sizeof($x); $r++)
<td>
<?php $i=1; ?>
@foreach($pro_code as $key=>$val)
@if($i % 2 != 0)
<input type="text" name="pro_code[]" value="{{ $val }}">
@else
<input type="text" name="pro_code[]" value="{{ $val }}">
@endif
@endforeach
<?php $i++;?>
</td>
@endfor
for each被置于for循环中,循环已经执行了两次,nw wt可以我做
答案 0 :(得分:1)
您可以计算循环的迭代次数并按以下方式打印
$i=1;
echo '<table>';
foreach($array as $key=>$val){
if($i % 2 != 0) {
echo '<tr><td>'.$val.'</td>';
} else {
echo '<td>'.$val.'</td></tr>';
}
$i++;
}
echo '</table>';
您可以在此处查看实时示例http://codepad.org/9xeiXJre
答案 1 :(得分:0)
在循环中递增计数器变量,然后,如果当前项大于2,只需退出循环即可完成。您只有这个例子,因为您没有提供代码。
答案 2 :(得分:0)
有array_chunk的PHP函数用于将数组拆分为某些元素的块。您可以拆分2个元素并将其放入foreach循环并打印出值。
原始PHP的示例:
$split_arr=array_chunk($main_array,2); //$main_array=Array ( [0] => SB_BL [1] => SB_BXL [2] => SB_GL [3] => SB_GXL )
echo "<table>"; //table wrapper
foreach($split_arr as $item) {
echo "<tr><td>$item[0]</td> <td>$item[1]</td></tr>"; //row with 2 items
}
echo "</table>"; //table end
答案 3 :(得分:0)
@Fabio提供的答案对于普通的php是正确的。但由于OP使用Laravel,而Laravel使用Blade模板引擎,因此这里也是Blade语法的表示:
<table>
<tr>
@foreach ($arrOutput as $i => $element)
@if($i > 0 && $i%2 === 0)
</tr><tr>
@endif
<td>{{$element}}</td>
@endforeach
</tr>
</table>
也许对某人有所帮助。
答案 4 :(得分:0)
您可以使用for
循环打印此
<?php
$input =array('SB_BL','SB_BXL','SB_GL','fSB_GXL');
echo '<table>';
for($i= 0; $i < 3; $i++)
{
$v = $i+1;
echo '<tr>';
echo '<td>'.$input[$i].'</td><td>'.$input[$v].'</td>';
echo '</tr>';
$i++;
}
echo '</table>'
?>
这将输出
SB_BL SB_BXL
SB_GL fSB_GXL