有没有办法在不必按名称调用每个会话变量的情况下,显示当前设置的所有会话变量的内容?
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
或者如果您不关心类型,也可以使用
print_r
。如果您使用 print_r
,您可以将第二个参数设置为 TRUE
,这样它将返回而不是 echo,对于... 有用
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
。
还要考虑到,如果用户只是关闭浏览器或在没有明确注销的情况下离开您的网站,您将不会收到任何反馈。根据您认为会话“不活动”的阈值的不活动程度,您得到的误报数量可能会非常高。
这对我有用:-
<?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);
将会话对象回显为 json。我喜欢 json,因为我有一个可以很好地格式化 json 的浏览器扩展。
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
echo '<pre>';
print_r($_SESSION);
echo '</pre>';