我得到以下数组:
Array
(
[0] => stdClass Object
(
[id] => 472
[userId] => 570
[docTypeId] => 2
[trNo] => 1
)
[1] => stdClass Object
(
[id] => 479
[userId] => 570
[docTypeId] => 8
[trNo] => 2
)
[2] => stdClass Object
(
[id] => 479
[userId] => 570
[docTypeId] => 8
[trNo] => 1
)
我想要的是基于相同的[trNo]
应该有一个选项卡,如果trNo
不同,那么它应该生成另一个选项卡。对于trNo
的类似值,应该有一个选项卡。
我使用foreach循环检查类似的值,如:
<ul class="nav nav-tabs">
<?php
foreach($array as $userdet){
if($array->trNo == 1)
{
?>
<li class="active"><a data-toggle="tab" href="#home">My Detail</a></li>
<?php } else {
other condition
}
?>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
</ul>
</div>
目前正在发生的是你可以看到有两个trNo
with 1
所以它产生两个标签。请帮帮我
试试这个
设置一些变量并递增它
$m = 0;
foreach($array as $userdet){
if($userdet->trNo == 1 && $m == 0 ){
$m++;
}
}
更改
$array->trNo == 1
至
$userdet->trNo == 1
如果你只有1或2 in trNo它应该工作。否则,您需要检查trNo是新的还是更早。
我试过这样的。你可以帮忙。这仅适用于trNo
的静态值。
<?php
$array = array(array('id'=>472,'userId'=>570,'docTypeId'=>2,'trNo'=>1),array('id'=>479,'userId'=>570,'docTypeId'=>8,'trNo'=>2),array('id'=>479,'userId'=>570,'docTypeId'=>8,'trNo'=>1));
?>
<ul class="nav nav-tabs">
<?php
$tab = '';
foreach($array as $userdet)
{
if($userdet['trNo'] == 1 && $tab != $userdet['trNo'])
{ ?>
<li class="active"><a data-toggle="tab" href="#home">My Detail</a></li>
<?php
$tab = $userdet['trNo'];
}
else
{
if($tab == $userdet['trNo'])
{
continue;
}
?>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
<?php
}
}?>
</ul>
</div>