不需要逐个调用每个会话变量的名称,有没有一种方法可以显示当前设置的所有会话变量的内容?
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
或者你可以使用print_r
,如果你不关心类型的话。如果你使用print_r
,你可以将第二个参数设置为TRUE
,这样它就会返回而不是输出,对于...
echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>';
<?php
session_start();
echo "<h3> PHP List All Session Variables</h3>";
foreach ($_SESSION as $key=>$val)
echo $key." ".$val."<br/>";
?>
这并不是一个简单的方法。
假设您说的“活动”的意思是“还没有过期”且没有被明确销毁,并且您正在使用默认的会话处理程序。
如果您真的需要这个功能,您必须实现某种自定义会话处理程序。请参见session_set_save_handler
。
还要考虑用户仅关闭浏览器或离开站点而没有明确注销的情况。根据您认为将会话视为“不活跃”的闲置时间长短,可能会得到很多误报。
last_active|i:1280043940;
存在的,因此通过一些分割,我认为我们可以生成一个列表(虽然不准确地活动会话)。 - alex这对我很有帮助:
<?php echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; ?>
感谢分享代码...
(注:该段文字已经是中文,无需翻译)Array
(
[__ci_last_regenerate] => 1490879962
[user_id] => 3
[designation_name] => Admin
[region_name] => admin
[territory_name] => admin
[designation_id] => 2
[region_id] => 1
[territory_id] => 1
[employee_user_id] => mosin11
)
print_r($_SESSION);
session_start();
echo json_encode($_SESSION);
session_start();
echo '<pre>';var_dump($_SESSION);echo '</pre>';
// or
echo '<pre>';print_r($_SESSION);echo '</pre>';
注意:session_start();必须存在只有这样才能打印出$_SESSION的值。