在php中显示HTML表多维数组中的数组数据

在php中显示HTML表多维数组中的数组数据,php,html,arrays,Php,Html,Arrays,我有这样一个数组:- $str = array( array( 'amount' => 1.87, 'user' => 'hello', ), array( 'amount' => 0.9, 'user' => 'test', ), array( 'amount' => 9, 'user' => 'hello', ),

我有这样一个数组:-

$str = array(
    array(
        'amount' => 1.87,
        'user' => 'hello',
    ),
    array(
        'amount' => 0.9,
        'user' => 'test',
    ),
    array(
        'amount' => 9,
        'user' => 'hello',
    ),
    array(
        'amount' => 1.4,
        'user' => 'test',
    )
);
现在,我在HTML表格中为用户“测试”显示这些数据,如下所示:-

<thead>
    <tr>
        <th>Amount</th>
        <th>User</th>
</thead>
<tbody>
    <tr>
        <td><?php
            foreach ($str as $new_str) {
                if ($new_str['user'] == "test") {
                    echo $new_str['amount'];
                    echo "<br />";
                }
            }

            ?></td><td><?php
            foreach ($str as $new_str) {
                if ($new_str['user'] == "test") {
                    echo $new_str['user'];
                    echo "<br />";
                }
            }
            ?></td>
    </tr>
</tbody>

数量
使用者

但现在的问题是,当我使用这段代码时,它显示了作为一个整体的数量和用户,而不是两个不同的行。我怎样才能解决这个问题?有什么帮助吗?

您只需要将
foreach
循环移到
结构之外。这应该起作用:

<?php foreach($str as $new_str){
    if($new_str['user']=="test"){
        echo "<tr><td>" . $new_str['amount'] . "</td><td>" . $new_str['user'] . "</td></tr>";
    }
}
?>

输出(用于您的数据)

0.9test
1.4测试

您的tr没有重复。我希望这会有所帮助

    <?php
       $str = array(
            array(
                'amount' => 1.87,
                'user' => 'hello',
            ),
            array(
                'amount' => 0.9,
                'user' => 'test' ,
            ),
            array(
                'amount' => 9,
                'user' => 'hello',
            ),
            array(
                'amount' => 1.4,
                'user' => 'test',
            )
);
?>
<table>
    <thead>
            <tr>
                <th>Amount</th>
                <th>User</th>
            </tr>
    </thead>
    <tbody>
                <?php foreach($str as $new_str) {
                    if($new_str['user'] == "test"){
                        echo '<tr>';
                        echo '<td>'.$new_str['amount'].'</td>';
                        echo '<td>'.$new_str['user'].'</td>';
                        echo '</tr>';
                    }
                } ?>

    </tbody>
</table>

数量
使用者

老鼠!你以秒数击败了我!干杯
    <?php
       $str = array(
            array(
                'amount' => 1.87,
                'user' => 'hello',
            ),
            array(
                'amount' => 0.9,
                'user' => 'test' ,
            ),
            array(
                'amount' => 9,
                'user' => 'hello',
            ),
            array(
                'amount' => 1.4,
                'user' => 'test',
            )
);
?>
<table>
    <thead>
            <tr>
                <th>Amount</th>
                <th>User</th>
            </tr>
    </thead>
    <tbody>
                <?php foreach($str as $new_str) {
                    if($new_str['user'] == "test"){
                        echo '<tr>';
                        echo '<td>'.$new_str['amount'].'</td>';
                        echo '<td>'.$new_str['user'].'</td>';
                        echo '</tr>';
                    }
                } ?>

    </tbody>
</table>