将具有属性的二维数组转移到另一页中

时间:2011-06-01 13:48:46

标签: php arrays session

我有一个二维数组,就像那样;

$results[$i][$j]->title;
$results[$i][$j]->snippet;
$results[$i][$j]->link;

它充满了价值。我必须将此变量及其值用于不同的页面。 我尝试使用会话,但它会出错。

我该如何解决这个问题?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

第一页:

session_start();
$_SESSION['fancy array'] = array("foo"=>array("b","a","r"));

第二页:

session_start();
print_r($_SESSION['fancy array']);

适合我:]

答案 1 :(得分:1)

在输出任何类型之前,在声明$results var之后的第1页上的

。 (在<html>之前)

session_start();
$_SESSION['results'] = $results;

第2页:

session_start();
$results = $_SESSION['results'];

答案 2 :(得分:1)

如果您尝试在会话中序列化对象(如前所述),请记住将自动调用成员函数__sleep和__wakeup。此外,您需要确保对象类的构造函数在后续页面上可用。 (当试图通过$ _SESSION传递对象时,这是一个非常常见的墙壁。)

http://php.net/function.serialize

另见:

http://php.net/language.oop5.serialization

您是否考虑过提取所需的对象属性并将其作为标量值存储在数组中?这可以通过$ _SESSION轻松存储,不需要额外考虑。