Недопустимое смещение строки в цикле foreach - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь получить значения из foreach, когда я пытаюсь получить имя_символа, я получаю сообщение об ошибке типа: *

Недопустимое смещение строки: 'имя_первой'

iне понял, почему возникает эта ошибка.

Вот мой код:

<tbody>
<?php
 $query = $this->db->query("SELECT * FROM ci_sessions WHERE timestamp >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 2 MINUTE))");
 $return_data = array();  // array where you put your "BLOB" resolved data
 foreach ($query->result() as $row) {
    $session_data = $row->data;

    $offset = 0;
    while ($offset < strlen($session_data)) {
    if (!strstr(substr($session_data, $offset), "|")) {
       throw new Exception("invalid data, remaining: " . substr($session_data, $offset));
    }
    $pos = strpos($session_data, "|", $offset);
    $num = $pos - $offset;
    $varname = substr($session_data, $offset, $num);
    $offset += $num + 1;
    $data = unserialize(substr($session_data, $offset));
    $return_data[$varname][] = $data;

    $offset += strlen(serialize($data));
  }
}
//var_dump( $return_data['user_name'][0] );

$return_data['user_name'] = array_unique($return_data['user_name']);

print_r($return_data['first_name']);    

foreach ($return_data['user_name'] as $onesession) {?>

<tr>

 <td><?php echo $onesession; ?></td>
 <td><?php echo $onesession['first_name']; ?></td>

  </tr>
 <?php } ?>
 </tbody>

Кто-нибудь может мне помочь, почему эта ошибка.

Заранее спасибо.

1 Ответ

0 голосов
/ 06 июня 2018

Надеюсь, это поможет вам:

Поскольку $result_data - это отдельный массив, поэтому вы не можете его зациклить, поэтому сохраняйте данные $ return_ $ в другом массиве, чтобы получить желаемый результат

$data[] = $return_data;

Ваш foreach должен быть таким;

$data[] = $return_data;

/* use below code if [] not supported*/

$data = array();
array_push($data,$return_data);

foreach ($data as $onesession) {?>

 <tr>

 <td><?php echo $onesession['user_name'][0]; ?></td>
 <td><?php echo $onesession['first_name'][0]; ?></td>
  </tr>
 <?php } ?>
 </tbody>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...