如何在php中将数组赋值给变量

时间:2016-04-28 16:31:44

标签: php arrays

我有一个带参考参数的函数。该函数使用数组填充引用。当它返回时,我用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);

3 个答案:

答案 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>代码。