请问php如何存取对象类型 比如,有个user对象,包括name属性,setName(),getName()方法,pass属性,等等,能储存整个这个对象吗,能储存的话,post一个name过来,我怎么取出这个对象,通过getName()方法匹配是哪个对象 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好象 post 只能传字符串,对象、链表、数组、堆盏、队列都不能 post 想要储存对象,可以使用serialize()/unserialize()函数,它可以将一个对象序列化为一个字符串,并可以从字符串中还原。如果对象成员都是public的,那也可以用json_encode()/json_decode()来实现。 必须要将这个对象存储在SESSION中或者序列化为字符串,然后在接收端进行反序列化,再进行取值即可:发送端://假设user对象是一个class类型$obj = serialize(user);//从而得到序列化后的字符串//将$obj以name=$obj的形式进行post接收端(也可以以get方式进行传值):$result=unserialize($_POST['name']);echo $result->getName(); 又写了一个测试代码,你试一下:<?phpclass user{ private $name='skyaspnet'; function getName() { echo $this->name; }}$obj=new user();$seStr= serialize($obj);echo $seStr.'<br />';echo unserialize($seStr)->getName();?>//输出结果O:4:"user":1:{s:10:"username";s:9:"skyaspnet";}skyaspnet php的序列化不能保存序列化方法(function),只能是属性,这点不如python反序列化时,对应的程序端要用原始类的结构文件 怎样改变当前页面链接 或者层的颜色? 用JQuery控制网页图片宽度问题 如何显示浏览次数?类似百姓网那样,每个信息都有对应的浏览次数 一个关于php数组的基础问题。 这页面加密了????? php系统时间问题 非计算机专业,一年ASP.NET开发经验,如果从新学习PHP,要多久能跟着做项目? 字符集转换之LATIN1 to UTF8问题。 变量定义为何不成功 请问哪里有PHP的编程规范文档? php源码被盗 100分求搜索关键词编码方法
必须要将这个对象存储在SESSION中或者序列化为字符串,然后在接收端进行反序列化,再进行取值即可:
发送端:
//假设user对象是一个class类型
$obj = serialize(user);//从而得到序列化后的字符串
//将$obj以name=$obj的形式进行post接收端(也可以以get方式进行传值):
$result=unserialize($_POST['name']);
echo $result->getName();
<?php
class user
{
private $name='skyaspnet';
function getName()
{
echo $this->name;
}
}
$obj=new user();
$seStr= serialize($obj);
echo $seStr.'<br />';
echo unserialize($seStr)->getName();
?>
//输出结果
O:4:"user":1:{s:10:"username";s:9:"skyaspnet";}
skyaspnet
反序列化时,对应的程序端要用原始类的结构文件