Я не могу получить значение массива с помощью foreach - PullRequest
0 голосов
/ 29 сентября 2019

Моя проблема в том, что я получаю значение массива из своей базы данных, но когда я хочу показать на своей странице, используя 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;

view:

<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
                )

        )

)

Ответы [ 2 ]

1 голос
/ 29 сентября 2019

вы создаете массив для каждого среднего значения и затем помещаете его в массив данных.

непосредственно вставьте его в массив данных, как сейчас:

$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>
1 голос
/ 29 сентября 2019

Предполагая, что вы используете foreach с точки зрения foreach, похоже, что вы используете одну и ту же переменную для ключа и значения, и вы зацикливаетесь на массиве массивов.

Что-то подобное должно работать так долгокак $data['avg'] равно $avg

<td>
  <?php foreach ($avg as $value) { ?>
      <?php echo $value[0]['average']; ?>
      <br>
      <br>
  <?php } ?>
 </td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...