【php数据类型】 对象如何转换成string?

lzl8146 2009-05-14 10:13:47
有想到2个方法:
class test
{
public a;
public b;
}

$obj = new test();
$obj->a = '1';
$obj->b = '2';

方法一:
$obj = (string)$obj;

方法二:
setype($obj, 'string');


都不okay?为什么?用什么方法才能将对象转换成string存到mysql中去?
...全文
11191 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinghdong 2009-05-14
  • 打赏
  • 举报
回复
serialize
unserialize
TR@SOE 2009-05-14
  • 打赏
  • 举报
回复
定义__toString方法吧。
fxs_2008 2009-05-14
  • 打赏
  • 举报
回复
以前见过有数组保存字符串的方法
只是没见过对象的
海诗美妆 2009-05-14
  • 打赏
  • 举报
回复
直接将目标转换成字串需要自定义__toString方法,如下:
class test{
public $a;
public $b;
public function __toString(){
return $this->a.", ".$this->b;
}
}

$obj = new test();
$obj->a = 1;
$obj->b = 2;
echo $obj;


但是,依照lz的情况,并不需要自定义类,直接使用stdClass就可以了,如下:
$obj = new stdClass();
$obj->a = 1;
$obj->b = 2;
echo $obj."\n";
echo $obj->a."\n";
echo $obj->b."\n";
wang_quan_li 2009-05-14
  • 打赏
  • 举报
回复
PHP 拥有序列化方法,它可以通过对象进行调用,序列化方法可以返回对象的字符串表示。然而,序列化只保存了对象的成员数据而不包话方法。
例子 :
  <?php
  $obj=new Classfoo();
  $str=serialize($obj);
  //保存$str到磁盘上
  //几个月以后
  //从磁盘中装入str
  $obj2=unserialize($str)
?>
zhenglm 2009-05-14
  • 打赏
  • 举报
回复
PHP 声明变量要用$,而且对象是不可以转变成string的,倒是可以转成数组,不过函数要用settype,你的少个t
你要是分开用的话$str=$obj->a; 这样$str就是个字符串
应该网 2009-05-14
  • 打赏
  • 举报
回复
$obj->a 和 $obj->b 都可以是string的形式存到mysql中去啊。

另外你在声明变量的时候应该要用:

public $a;
public $b;
SysTem128 2009-05-14
  • 打赏
  • 举报
回复
serialize
unserialize
lzl8146 2009-05-14
  • 打赏
  • 举报
回复
我刚才有想到用json_encode转一下是可以存的
应该网 2009-05-14
  • 打赏
  • 举报
回复
没想到什么方法,抱歉。

就像你要将一个数组对象存到数据库,从数据库里直接取出来还是一个数组对象。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧