繁体   English   中英

如何将数组分配给php中的变量

[英]How to assign an array to variable in php

我有一个带有参考参数的函数。 该函数使用数组填充引用。 当它返回时,我使用print_r()测试参考值。 它成功了。 但是当我尝试将它分配给另一个 var 时,

$_SESSION['allvats'] = $ref_all_vats;

我得到一个空的会话变量。 我如何分配这个? 我已经尝试在调用函数之前将引用声明为数组,并将会话分配为

$_SESSION['allvats'][] = $ref_all_vats;

谢谢你。

编辑。

会话正在运行。 其他会话变量填充。 这是代码位:

    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);

像这样尝试

session_start();
$_SESSION['allvats'] = $ref_all_vats;
list($firstVar, $secondVar) = explode(' ', 'Foo Bar');

list()是你所追求的。

您的代码很好,还有其他问题。 您确定 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>标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM