繁体   English   中英

Codeigniter中的多维数组

[英]multidimensional array in view in codeigniter

我的模型中有以下数组,这里是var_dump:

array(4) {
[0]=>
 array(1) {
   [0]=>
   array(5) {
 ["payment_student"]=>
 string(4) "2406"
 ["fee_month"]=>
 string(10) "2018-02-00"
 ["arrears"]=>
 string(1) "0"
 ["payment_description"]=>
 string(17) "Transport, 120 , "
 ["payment_amount"]=>
 string(3) "120"
   }
 }
 [1]=>
 array(1) {
   [0]=>
   array(5) {
     ["payment_student"]=>
 string(4) "2415"
 ["fee_month"]=>
 string(10) "2018-02-00"
 ["arrears"]=>
 string(1) "0"
 ["payment_description"]=>
 string(33) "Transport, 1500 , Tuition, 620 , "
 ["payment_amount"]=>
 string(4) "2120"
   }
     }
 [2]=>
     array(1) {
   [0]=>
   array(5) {
     ["payment_student"]=>
 string(4) "2175"
 ["fee_month"]=>
 string(10) "2018-02-00"
 ["arrears"]=>
 string(1) "0"
 ["payment_description"]=>
 string(17) "Transport, 620 , "
 ["payment_amount"]=>
 string(3) "620"
   }
 }
 [3]=>
 array(1) {
   [0]=>
   array(5) {
 ["payment_student"]=>
 string(4) "2087"
 ["fee_month"]=>
 string(10) "2018-02-00"
 ["arrears"]=>
 string(1) "0"
 ["payment_description"]=>
 string(33) "Transport, 1500 , Tuition, 420 , "
 ["payment_amount"]=>
 string(4) "1920"
   }
 }
}

这是我对循环的看法:

$i=0;
foreach ($payments_view as $key => $data) { 

            ?>
                <td><?php echo $i; ?></td>
                <td><?php echo $data[$i]['payment_student']?></td>
                <td><?php echo $data[$i]['arrears']?></td>

                <td><?php echo $data[$i]['payment_description']; ?></td>
                <td><?php echo $data[$i]['payment_amount']+$data[$i]['arrears']; ?></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <?php
                $i++;
 } 

它显示第一行,但对于下一行给出以下错误:

遇到PHP错误严重性:通知消息:未定义的偏移量:1文件名:views / fee_register_list.php行号:95回溯:文件:C:\\ xampp \\ htdocs \\ learn_ci \\ ksi_gentelella \\ application \\ views \\ fee_register_list.php行:95功能:_error_handler文件:C:\\ xampp \\ htdocs \\ learn_ci \\ ksi_gentelella \\ application \\ controllers \\ Fee_Controller.php行:173功能:查看文件:C:\\ xampp \\ htdocs \\ learn_ci \\ ksi_gentelella \\ index.php行:315功能: require_once

我如何使我的数组简化为一个数组,以便能够使用它。 以这样的形状,我认为它非常复杂。

尝试这个 :

for($i=0;$i<count($data);$i++){
   <tr>
   $firstObj=$data[i][0];
    for($j=0;$j<5;$j++){
       <td><?php echo $i; ?></td>
       <td><?php echo $firstObj[$j]['payment_student']?></td>
       <td><?php echo $firstObj[$j]['arrears']?></td>
       <td><?php echo $firstObj[$j]['payment_description']; ?></td>
       <td><?php echo $firstObj[$j]['payment_amount']." ".$firstObj[$j]['arrears']; ?></td>
    }
   </tr>
}

您可以使用array_column来“展平”您的数组:

<?php foreach (array_column($payments_view, 0) as $i => $data) { ?>
    <tr>
        <td><?= $i; ?></td>
        <td><?= $data['payment_student']?></td>
        <td><?= $data['arrears']?></td>
        <td><?= $data['payment_description']; ?></td>
        <td><?= $data['payment_amount'] + $data['arrears']; ?></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
<?php } ?>

虽然不应该这样做。 尝试重构您的代码,以便您的视图将具有正确格式的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM