如何从键值对分组相似的值

时间:2017-12-20 10:36:58

标签: php arrays multidimensional-array foreach

我正在关注数组:

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>

目前正在发生的情况是,您可以看到有两个trNo1因此,它会生成两个标签。请帮帮我

3 个答案:

答案 0 :(得分:1)

试试这个

设置一些变量并将其递增

$m = 0;

foreach($array as $userdet){

 if($userdet->trNo == 1 && $m == 0 ){

 $m++;

}

}

答案 1 :(得分:0)

更改

$array->trNo == 1 

$userdet->trNo == 1 

如果你只有1或2的trNo它应该工作。否则,你需要检查trNo是新的还是更早。

答案 2 :(得分:0)

我试过这样的。你可以帮忙。 这仅适用于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>
相关问题