有想到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中去?

解决方案 »

  1.   

    我刚才有想到用json_encode转一下是可以存的
      

  2.   

    $obj->a 和 $obj->b 都可以是string的形式存到mysql中去啊。另外你在声明变量的时候应该要用:public $a;
    public $b;
      

  3.   

    PHP 声明变量要用$,而且对象是不可以转变成string的,倒是可以转成数组,不过函数要用settype,你的少个t
    你要是分开用的话$str=$obj->a;  这样$str就是个字符串
      

  4.   

    PHP 拥有序列化方法,它可以通过对象进行调用,序列化方法可以返回对象的字符串表示。然而,序列化只保存了对象的成员数据而不包话方法。
    例子 : 
      <?php 
      $obj=new Classfoo(); 
      $str=serialize($obj); 
      //保存$str到磁盘上 
      //几个月以后 
      //从磁盘中装入str 
      $obj2=unserialize($str) 
        ?>
      

  5.   

    直接将目标转换成字串需要自定义__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";