【发布时间】:2018-06-06 09:14:51
【问题描述】:
当我尝试获取 first_name 时,我正在尝试从 foreach 获取值,但出现类似 ` 的错误
非法字符串偏移 'first_name'
我不明白为什么会出现这个错误。
这是我的代码:
<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>
谁能帮助我为什么会出现这个错误。
提前致谢。
【问题讨论】:
-
这意味着
$return_data或$onesession不是 数组,因此您不能尝试像数组['...']那样访问它。在这种情况下,它是$onesession。var_dump($onesession);应该有助于查看里面有什么。 -
得到这个字符串(5) "admin" 我在使用 var_dump 时得到这个
-
你能帮我在我的情况下如何获得 first_name @pradeep
标签: php codeigniter