2010-02-04 60 views
3

我正在循环访问会话变量。我已经能够回显会话值,但我也想回显与该值相对应的会话名称。如何在PHP中的foreach循环中回显会话名称?

如何在每次循环时回显会话变量名称?

这是我目前拥有的代码:

foreach($_SESSION as $value) { 
    echo 'Current session variable is: ' . $value . '<br />'; 
} 
+1

如果只是为了调试目的,使用print_r($ _ SESSION,true)会更快; – Extrakun 2010-02-04 06:43:22

+0

我想第二个'print_r()' - 它不仅完成了相同的工作,而且还有更好的格式(并给出了类型的指示)。 – Amber 2010-02-04 06:46:29

+0

我不明白你的意思。我会把print_r($ _ SESSION,true);在foreach循环内? – zeckdude 2010-02-04 07:00:43

回答

9

This?

foreach($_SESSION as $key => $value) { 
    echo 'Current session variable ' . $key . ' is: ' . $value . '<br />'; 
} 
+0

这正是我需要的!谢谢! – zeckdude 2010-02-04 06:44:19

+0

完全没问题。其他答案可能有更多的细节,你也可能想要阅读它们。 – mauris 2010-02-04 06:46:33

1

foreach循环允许指定一个关键的变量。只需使用$var => $val,其中$val是保存索引的变量,$val是保存该值的变量。

foreach($_SESSION as $key => $value) { 
    echo 'Session variable ' . $key . ' is: ' . $value . '<br />'; 
} 
+0

感谢您的详细解释! – zeckdude 2010-02-04 06:53:03

1

试试这个:

foreach($_SESSION as $k => $v) 
{ 
    echo 'Variable ' . $k . ' is ' . $v . '<br />' 
} 
3

随着foreach循环,就可以得到这两个键的名称,以及相应的值,使用此语法:

foreach ($your_array as $key => $value) { 
    // Use $key for the name, and $value for the value 
} 

所以,在你case:

foreach($_SESSION as $name => $value) { 
    echo 'Current session variable is: ' . $value . ' ; the name is ' . $name . '<br />'; 
} 
+0

感谢您的澄清! – zeckdude 2010-02-04 06:52:43