首页 > 解决方案 > 我无法使用 foreach 获取数组值

问题描述

我的问题是我从我的数据库中获取了一个数组值,但是当我想使用 foreach 在我的页面上显示它时,它什么也没显示。我找不到我的问题。在下面我给出我的代码:

控制器:

$subject_code = $this->student_model->subject_code($id);
        $avg = array();
        foreach($subject_code as $values) {
            $array_values = $values['code'];
            $avg[] = $this->student_model->average($id,$array_values);
        }
        $data['avg'] = $avg;

看法:

<td>
 <?php 
    foreach ($avg as $avg) { ?>
      <?php echo $avg['average']; ?>
      <br>
      <br>
    <?php } ?>
</td>

我回显时得到的输出$data['avg']

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [average] => 77.666667
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [average] => 74.333333
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [average] => 89.333333
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [average] => 88.666667
                )

        )

    [4] => Array
        (
            [0] => Array
                (
                    [average] => 39.666667
                )

        )

    [5] => Array
        (
            [0] => Array
                (
                    [average] => 37.666667
                )

        )

    [6] => Array
        (
            [0] => Array
                (
                    [average] => 43.333333
                )

        )

)

标签: phpcodeignitercodeigniter-3

解决方案


您正在做的是为每个平均值创建一个数组,然后将其推入数据数组。

直接将其推入数据数组,如下所示

$subject_code = $this->student_model->subject_code($id);

    foreach($subject_code as $key=>$values) {
        $array_values = $values['code'];
        $data['avg'][$key] = $this->student_model->average($id,$array_values);
    }

现在您可以在 foreach 循环中使用它,就像您已经在做的那样

<td>
<?php 
  foreach ($avg as $avg) { ?>
    <?php echo $avg['average']; ?>
    <br>
    <br>
<?php } ?>
</td>

推荐阅读