Php 具有各自标题的自定义foreach
我这里有一个循环,请参阅图片 我有一个名为“供应商名称”的栏目 例如,同一供应商名称有两行 所以我需要一个标题 我的预期目标是 ABS机构 供应商名称-此处应为标题Php 具有各自标题的自定义foreach,php,for-loop,foreach,Php,For Loop,Foreach,我这里有一个循环,请参阅图片 我有一个名为“供应商名称”的栏目 例如,同一供应商名称有两行 所以我需要一个标题 我的预期目标是 ABS机构 供应商名称-此处应为标题 ABS机构-标题 ABS机构 ABS机构 此处为mycode @foreach($prsdkgrids as $prsdkgrid) <?php if($prsdkgrid->SupplierName == $prsdkgrid->SupplierName){ $Sup
- ABS机构-标题
- ABS机构
- ABS机构
@foreach($prsdkgrids as $prsdkgrid)
<?php if($prsdkgrid->SupplierName == $prsdkgrid->SupplierName){ $SupplierName[] = $prsdkgrid->SupplierName; } ?>
@endforeach
@foreach($prsdkgrids as $prsdkgrid)
<?php if(count($SupplierName) == $SupplierName[$f]) { }else{ echo $f."<tr><td><h3 style='font-size: 15px;'>$prsdkgrid->SupplierName</h3></td></tr>"; } ?>
<tr class="psr_table1_tr" id="PSupdetID<?php echo $prsdkgrid->PSupdetID; ?>" <?php if($prsdkgrid->ApprovalStatus == 1){ echo 'style="background: #d9edf7;"';} ?> >
<td> {{ Form::label('', $prsdkgrid->ArticleNo) }} </td>
<td> {{ Form::label('', $prsdkgrid->Size) }} </td>
<td> {{ Form::label('', $prsdkgrid->SpecialDesc) }} </td>
<td> {{ Form::label('', $prsdkgrid->QtyExp) }} </td>
<td> {{ Form::label('', $prsdkgrid->Coloring) }} </td>
<td> {{ Form::label('', $prsdkgrid->Packaging) }} </td>
<td> {{ Form::label('', $prsdkgrid->Packing) }} </td>
<td> {{ Form::label('', $prsdkgrid->TargetPrice) }} </td>
<td> {{ Form::label('', $prsdkgrid->SupPrice) }} </td>
<td> {{ Form::label('', $prsdkgrid->SupplierName) }}</td>
<td> {{ Form::label('', $prsdkgrid->SupComments) }} </td>
<td> <?php if($prsdkgrid->ApprovalStatus == 0){ ?><div align="center" class="floatleft approvedk" id="ApprvedbyResp<?php echo $prsdkgrid->PSupdetID; ?>">
<li><a class="prs_add_link" href="#"><input class="save_btn Approve" type="button" onclick="ApprvedbyResp(<?php echo $prsdkgrid->PSupdetID; ?>)" value="Approve"></a></li></div><?php } ?> </td>
</tr> <?php $f++; ?>
@endforeach
@foreach($prsdkgrids作为$prsdkgrid)
@endforeach
@foreach($prsdkgrids作为$prsdkgrid)
>
{{Form::label(''.$prsdkgrid->ArticleNo)}
{{Form::label(''.$prsdkgrid->Size)}
{{Form::label(''.$prsdkgrid->SpecialDesc)}
{{Form::label(''.$prsdkgrid->QtyExp)}
{{Form::label(''.$prsdkgrid->Coloring)}
{{Form::label(''.$prsdkgrid->Packaging)}
{{Form::label(''.$prsdkgrid->Packing)}
{{Form::label(''.$prsdkgrid->TargetPrice)}
{{Form::label(''.$prsdkgrid->SupPrice)}
{{Form::label(''.$prsdkgrid->SupplierName)}
{{Form::label(''.$prsdkgrid->SupComments)}
您可以将供应商名称存储在变量中,在循环中您只需比较变量和供应商名称。一个简单的方法是这样的,因为您使用的是foreach()
重新创建阵列示例:
$new_array = [];
$tmp_supplier_name = '';
foreach($prsdkgrids as $prsdkgrid){
if($tmp_supplier_name != $prsdkgrid->supplier_name){
$tmp_supplier_name = $prsdkgrid->supplier_name;
}else{
$new_array[$prsdkgrid->supplier_name]['opt1'] = $prsdkgrid->opt1;
$new_array[$prsdkgrid->supplier_name]['opt2'] = $prsdkgrid->opt2;
//and so on
}
}
第二个选项怎么办?@Glizzweb请再次检查答案
Array(
['supplierA'] =>
Array(
[0] => array(.....)
[1] => array(.....)
),
['supplierB'] =>
Array(
[0] => array(.....)
[1] => array(.....)
)
)
$new_array = [];
$tmp_supplier_name = '';
foreach($prsdkgrids as $prsdkgrid){
if($tmp_supplier_name != $prsdkgrid->supplier_name){
$tmp_supplier_name = $prsdkgrid->supplier_name;
}else{
$new_array[$prsdkgrid->supplier_name]['opt1'] = $prsdkgrid->opt1;
$new_array[$prsdkgrid->supplier_name]['opt2'] = $prsdkgrid->opt2;
//and so on
}
}