重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
楼上解释正确,不过我补充一下。
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有古雷港免费网站建设让你可以放心的选择与我们合作。
既然初始化是在类声明之后,那么可以通过手动串行化和反串行化来达到目的。
保存的时候使用serialize来保存,提取恢复的时候使用unserialize来恢复。
当然,这个还有一个要注意的地方,需要保存的对象最好是只包含数据,意思是,不要有数据库连接资源、文件资源之类的,如果包含这些,串行和反串行的结果都是一个int 0,反串行的时候可能不能正常工作。
至于对象串行反串行的一些可定制的功能,可以参考帮助文档的这个部分:
通过定义魔术函数__sleep __wakeup来实现。
?
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();
?
几乎没区别,效率上了数组可能好一点点,特别是mysql_fetch_row返回的简单数组(不带字段名的),在处理复杂表达式的值时很方便,例如:
$sql='select
count(*),
sum(monye)
from
tab';
$res=mysql_query($sql);
list($cnt,$money_sum)=mysql_fetch_row($res);
mysql_free_result($res);
语句简单,效率最高。
再次强调,别在乎那一点点效率,用你喜欢的方法编程。
session里面不能保存对象的!
因为session的初始化必须在脚本最开始,但那个时候类还没有被声明,所以无法使用其实例