我有一个带参考参数的函数。该函数使用数组填充引用。当它返回时,我用print_r()
测试参考值。它很成功。但是,当我尝试将其分配给另一个var时,
$_SESSION['allvats'] = $ref_all_vats;
我得到一个空的会话变量。我该如何分配?我已经尝试在调用函数之前将引用声明为数组,并将会话指定为
$_SESSION['allvats'][] = $ref_all_vats;
谢谢。
编辑。
会话正在运行。其他SESSION变量填充。这是代码位:
if(buildMetalArrayNsp($process_id, $ref_all_vats)) {
writeDataToFile("vats " . print_r($ref_all_vats, true), __FILE__, __LINE__);
$_SESSION['allvats'] = $ref_all_vats;
}
以下是会话代码:
$lifetime= 60 * 60 * 24 * 30; // 30 days
session_start();
setcookie(session_name(),session_id(),time()+$lifetime);
答案 0 :(得分:0)
试试这个
session_start();
$_SESSION['allvats'] = $ref_all_vats;
答案 1 :(得分:0)
list($firstVar, $secondVar) = explode(' ', 'Foo Bar');
list()就是你的目标。
答案 2 :(得分:-1)
您的代码很好,还有其他问题。你确定if语句的评估是真的吗?无论何时跟踪错误,最好使用echo或print_r。例如:
echo "<pre>Above if\n";
if(buildMetalArrayNsp($process_id, $ref_all_vats)) {
echo "In if\n";
$_SESSION['hello'] = "world";
$_SESSION['allvats'] = $ref_all_vats;
}
echo "Below if\n";
echo "\n-----------------------\n";
echo $_SESSION['hello'];
echo "\n-----------------------\n";
print_r($_SESSION['allvats']);
echo "\n-----------------------\n";
print_r($ref_all_vats);
echo "</pre>";
当然,如果您没有在网页上显示,请删除<pre>
代码。