如果我有30个会话变量,并且我只想对其中的10个执行If语句。
if (empty($_SESSION['XYZ'])) {
$_SESSION['XYZ'] = 0;
}
我该怎么办?是否在我需要的每个会话变量之后调用if语句?
考虑将键的名称放入数组中,然后使用foreach循环。
$keys = array('x','y','z');
foreach ($keys as $key)
{
if (empty($_SESSION[$key])
{
// do stuff
}
}
一个优点是可以快速添加或删除要检查的密钥。
$vars = array('XYZ','ABC','DEF');
foreach($vars as $i){
if(empty($_SESSION[$i])) $_SESSION[$i] = 0;
}
[edit]
我喜欢我们现在有4次相同的答案,而且还在继续!
如果它们是串联的,即从0到29,则可以使用循环遍历它们!
是这样的吗?
$keys = array("A", "B", "C", "D", "E", "F");
foreach ($keys as $key) {
if (empty($_SESSION[$key])) {
$_SESSION[$key] = 0;
}
}
您可以在数组中列出要归零的键,并按如下方式设置它们:
$keys = array('XYZ','FOO','BAR');
foreach ($keys as $key) {
if (empty($_SESSION[$key])) {
$_SESSION[$key] = 0;
}
}