如何在foreach循环中打印前两个数据
Posted
技术标签:
【中文标题】如何在foreach循环中打印前两个数据【英文标题】:How to print first two data in foreach loop 【发布时间】:2016-07-03 09:05:58 【问题描述】:我得到了如下所示的 o\p
Array ( [0] => SB_BL [1] => SB_BXL [2] => SB_GL [3] => SB_GXL )
因为我需要 o\p 像下面的结构
<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 i can i doo
【问题讨论】:
你有什么尝试!获取代码 阅读php.net/manual/en/control-structures.foreach.php 你的模板使用 Blade 吗(因为问题有 laravel 标签)? 我在 laravel 中使用这个 【参考方案1】:@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>
也许它对某人有帮助。
【讨论】:
【参考方案2】:你可以使用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
【讨论】:
【参考方案3】: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
【讨论】:
【参考方案4】:在循环中增加您的计数器变量,然后,如果当前项大于 2,只需退出循环即可。你只有这个例子,因为你没有提供代码。
【讨论】:
【参考方案5】:您可以计算循环的迭代次数并按如下方式打印
$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
【讨论】:
bt foreach 放在 for 循环中以上是关于如何在foreach循环中打印前两个数据的主要内容,如果未能解决你的问题,请参考以下文章