我的功能:
function SessionSet($s, $v = '') {
if (is_array($s)) {
foreach ($s as $k => $v) $_SESSION[$k] = $v;
} else {
$_SESSION[$s] = $v;
}
}
有可能让它像这样工作:
SessionSet('user_visits')++;
只是一个简单的增量,但没有任何想法如何......
答案 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']
。