输出多维数组时出现问题

问题描述 投票:0回答:1

我有什么

我有一个看起来像这样的数组:

Multidimensional Array

我想要什么

我想要的是这样的桌子:

Array Output table

结果应该是一个表,其中表中列出了每个项目及其后面的所有子数组。

但是我的桌子现在看起来像这样:

False table result

问题在于,作为示例,第 1 项被输出了多次。

我不明白为什么我的数组会这样输出。它不只是获取第一项并输出其中的每个付款数组,然后获取下一项,依此类推。

代码

这是我的 foreach 代码片段

foreach ($paidgift as $item => $payments) {
    echo'<tr>
            <td>'.$item.'</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
         </tr>';
    foreach ($payments as $paymentdetail) {
        echo'<tr>
                <td></td>
                <td>'.$paymentdetail['paid'].'</td>
                <td>'.$paymentdetail['nname'].'</td>
                <td>'.$paymentdetail['vname'].'</td>
                <td>'.$paymentdetail['mail'].'</td>
             </tr>';
    }
}

我做错了什么?

提前感谢您的帮助

php arrays multidimensional-array
1个回答
0
投票

我自己发现了这个问题,因为我检查了我的代码,发现我肯定没有忘记一些东西。

我真是个白痴。问题是,我将 foreach 代码直接编码到“数组创建”脚本的 while 循环中。所以每次我创建一个新的数组条目时,它都会输出所有内容。

我的错!

现在在 while 循环之外使用 foreach 循环效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.