2
我有以下的代碼示例,如我所期望的PHP 5.5,但在託管服務器我有PHP 5.2.17,它不。
如果我重複運行幾次,我就會得到我期待的結果,數組變得更大。
但是,當我在PHP 5.2.17上運行它時,我得到了相同的編號,因爲class A
的實例被凍結。
更重要的是,如果我刪除這行$_SESSION['a'] = $a;
然後它在PHP 5.2.17,但它不是我所需要的。任何知道PHP發行版的人都可以想出一種方法來管理它。謝謝
<?php
class A
{
public $var = 0;
}
session_start();
if(isset($_SESSION['a_array']))
{
$a = new A();
$_SESSION['a'] = $a;
$a->var = rand();
array_push($_SESSION['a_array'], $a);
}
else
{
$a_array = Array();
$_SESSION['a_array'] = $a_array;
}
var_dump($_SESSION['a_array']);
?>
您是否試圖將整個對象放入會話變量?這至少是它的樣子。 – Bioto
我想我是這樣做的,我需要從另一個腳本訪問對象$ a。所以我需要這個$ _SESSION ['a'] = $ a; –
你不應該那樣做。做另一個PHP,並把類放入文件。一旦你在頁面中包含文件/類,你需要訪問它,那麼你仍然可以這樣做:$ a = new A()只要包含其他頁面就可以訪問該類 – Bioto