显示数组不是我想要的方式

时间:2013-12-10 17:02:03

标签: php arrays associative-array

我有以下数组

$array = 
(
    [0] => Array
        (
            [cnt_name] => germany
            [ent_func] => sec
            [COUNT(*)] => 31
        )

    [1] => Array
        (
            [cnt_name] => germany
            [ent_func] => Coach
            [COUNT(*)] => 1
        )

    [2] => Array
        (
            [cnt_name] => germany
            [ent_func] => officer
            [COUNT(*)] => 2
        )

    [3] => Array
        (
            [cnt_name] => france
            [ent_func] => manager
            [COUNT(*)] => 3
        )

    [4] => Array
        (
            [cnt_name] => france
            [ent_func] => sec
            [COUNT(*)] => 10
        )

)

我需要输出下表。

Country Name     sec   Coach   officer   
germany           31     1      2        
france            10     0      0         
--------------------------------------
Total             41     0      2        

我试过如下,但输出错了......

  <table class="table table-bordered table-striped">
            <tr>  
                <th><?= _('Name')?></th>
                <th><?= _('Sec')?></th> 
                <th><?= _('Coach')?></th>
                <th><?= _('officer')?></th>   
            </tr>  
            <?php foreach($array as $sbc) {?>
                <tr>   
                    <td><?=$sbc['cnt_name']?></td>  
                    <td><?php $sbc['ent_func'] == 'BX' ? 0 : ''?></td> 
                    <td><?=$sbc['COUNT(*)']?></td>   
                </tr>
                <?php } ?>
            <tr>   
                <td>Total</td>
                <td><span class="badge badge-info"><?=$summBoxer + $summOffic?></span></td>  
            </tr>
        </table>

有人帮忙吗?

3 个答案:

答案 0 :(得分:2)

您忘记了echo

 <td><?=($sbc['ent_func'] == 'BX') ? 0 : ''?></td>

答案 1 :(得分:1)

您错过了添加echo $sbc['ent_func']

<td><?php echo $sbc['ent_func'] == 'BX' ? 0 : '';?></td> 

或者

<?=($sbc['ent_func'] == 'BX') ? 0 : '';?>

答案 2 :(得分:0)

我想你错过了一个<td></td&gt;在您的第二个<tr>中仍然在总计中,您只有一个<td></td>,但在您的索引表中:

<tr>  
    <th><?= _('Name')?></th>
    <th><?= _('Sec')?></th> 
    <th><?= _('Coach')?></th>
    <th><?= _('officer')?></th>   
</tr>

有4个td,您可以使用colspan平衡它,也可以放置正确数量的td。正如我在输出中看到的那样,你需要平衡它们。