2016-03-17 41 views
2

我Ø\ p像下面如何打印在foreach循环前两个数据

Array ([0] => SB_BL [1] => SB_BXL [2] => SB_GL [3] => SB_GXL) 

在我需要Ø\ 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循环内,该循环已经执行了两次,nw wt can i doo

+2

是什么?你尝试一点点!获取代码 –

+2

阅读http://php.net/manual/en/control-structures.foreach.php – aldrin27

+0

您是否使用Blade作为模板(因为问题有laravel标签)? – macghriogair

回答

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

+0

感谢亲爱的,它的工作太gud – KarnaGowtham

+0

其工作兄弟@fabio – KarnaGowtham

+0

bt的foreach放在一个for循环 – KarnaGowtham

0

增量的计数器变量,然后,如果目前的产品更大比2,简单地退出循环,你就完成了。你只是这个例子,因为你没有提供代码。

0

有一个PHP函数array_chunk用于将数组拆分为某些元素的块。你可以分解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 
0

答案@Fabio提供的是纯PHP正确的。但由于OP使用Laravel和Laravel使用刀片模板引擎,这里是刀片语法的表示,以及:

<table> 
    <tr> 
    @foreach ($arrOutput as $i => $element) 
    @if($i > 0 && $i%2 === 0) 
     </tr><tr> 
    @endif 
    <td>{{$element}}</td> 
    @endforeach 
    </tr> 
</table> 

也许它可以帮助别人。

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