樓上解釋正確,不過我補充一下。
10年積累的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有古雷港免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
既然初始化是在類聲明之后,那么可以通過手動串行化和反串行化來達(dá)到目的。
保存的時候使用serialize來保存,提取恢復(fù)的時候使用unserialize來恢復(fù)。
當(dāng)然,這個還有一個要注意的地方,需要保存的對象最好是只包含數(shù)據(jù),意思是,不要有數(shù)據(jù)庫連接資源、文件資源之類的,如果包含這些,串行和反串行的結(jié)果都是一個int 0,反串行的時候可能不能正常工作。
至于對象串行反串行的一些可定制的功能,可以參考幫助文檔的這個部分:
通過定義魔術(shù)函數(shù)__sleep __wakeup來實現(xiàn)。
?
class Users
{
var $name;
var $password;
function set_user($name,$password){
$this-name = $name;
$this-password = $password;
}
function get_user(){
echo 'name:'.$this-name.'br';
echo 'password:'.$this-password;
}
}
$user = new Users;
$user-set_user('name1','123456');
$user-get_user();
?
幾乎沒區(qū)別,效率上了數(shù)組可能好一點點,特別是mysql_fetch_row返回的簡單數(shù)組(不帶字段名的),在處理復(fù)雜表達(dá)式的值時很方便,例如:
$sql='select
count(*),
sum(monye)
from
tab';
$res=mysql_query($sql);
list($cnt,$money_sum)=mysql_fetch_row($res);
mysql_free_result($res);
語句簡單,效率最高。
再次強調(diào),別在乎那一點點效率,用你喜歡的方法編程。
session里面不能保存對象的!
因為session的初始化必須在腳本最開始,但那個時候類還沒有被聲明,所以無法使用其實例