_SESSION增量功能

时间:2011-11-09 14:24:40

标签: php function session

我的功能:

function SessionSet($s, $v = '') {
    if (is_array($s)) {
        foreach ($s as $k => $v) $_SESSION[$k] = $v;
    } else {
        $_SESSION[$s] = $v;
    }
}

有可能让它像这样工作:

SessionSet('user_visits')++;

只是一个简单的增量,但没有任何想法如何......

4 个答案:

答案 0 :(得分:5)

怎么样

$_SESSION['user_visits']++;

代替?

您无法递增函数的返回值 - 无法存储递增的值。

答案 1 :(得分:1)

不,这是不可能的。您可以从函数返回引用,但PHP仍然不允许对函数返回值进行mutator操作。

答案 2 :(得分:1)

为什么你的功能内部没有类似内容?然后当你调用函数时,它将在内部进行增量。或者我错过了你真正的问题?

$_SESSION[$s] = $v; //somewhere in your code you init the variable
//and in your function just do
$_SESSION[$s] = $_SESSION[$s]++;

//Assuming variable in seeion is incrementable!

答案 3 :(得分:0)

无法直接更改函数的返回值。

这会引发一个致命的错误:

  

致命错误:无法在写上下文中使用函数返回值

但是你可以在函数调用后访问$_SESSION['user_visits']