object(stdClass)#3 (2) { ["id"]=> string(2) "10" ["tt"]=> string(6) "我们" } 这是一个对象,我用(object)转换的,,但是下面我还要用这个对象去操作函数,,就会提示函数没有申明,,这是正常的因为它所属的类stdClass是系统类。。问题是,我要换成其他类的对象。。我用new ArrayObject,可以转换成object(ArrayObject)#3 (2) { ["id"]=> string(2) "10" ["tt"]=> string(6) "我们" }然后我用class 某类 extends ArrayObject,可以是可以,但是 ArrayObject这个类支持的是数组的语法,,不能用对象->属性表示,,我被难住了我要实现的是ActiveRecord的方法。。就差这一步无法完成,,求助了

解决方案 »

  1.   

    当然有的人可能会说直接new 某个类,但是,它的形式会变成object(某个类)#3 (2) [参数] { ["id"]=> string(2) "10" ["tt"]=> string(6) "我们" }也就是说不能直接对象->属性取值了,,而是对象->参数->属性,,这样了,,显然不是我所期待的。。我期待的是object(某个类)#3 (2) { ["id"]=> string(2) "10" ["tt"]=> string(6) "我们" }
      

  2.   

    我要实现的是ActiveRecord的方法,直接实例化数据表,,然后全部用对象去操作,用->符号。比如$user=Table('表');
       $user=$user->find(1);
       $user->tt='123';
       $user->save();  //就差这一步。。55555555这种类型
      

  3.   

    在实例表的时候将表的结构查出并生成对应格式的属性(自动),在save的时候再将属性组合成语句执行,这个意思么?
      

  4.   

    你可以试试mysql_fetch_object这个函数,从记录集中获取一个对象。
      

  5.   

    楼上没用的,返回的还是stdClass要是他的类型是自定义,且符合规则,,很难啊,换个角度说,,谁能够使得object(ARClass)#2 (1) { ["ardata"]=> array(2) { ["id"]=> string(2) "10" ["tt"]=> string(6) "我们" } } 变成object(ARClass)#2 (1) { ["id"]=> string(2) "10" ["tt"]=> string(6) "我们"  } 
      

  6.   

    也就是说,我想要使得数据库的结果集直接是这个对象的属性,,并且该对象所属的类不是stdClass..
      

  7.   

    明白如下式什么意思不
    <?php
    class Obj{}
    $obj = new Obj();
    $obj->p = 'abc';
    var_dump($obj);
      

  8.   

    你只需要将表结构查出来如此循环设置属性不就行了么?save的时候反过来啊
      

  9.   

    汗死,你怎么这样用,数组是数组,对象是对象object{
        id=>xxx,
        name=>xxx, 
        setArray(array) {
            this.id = array[id];
        }
        getArray(){
            return array(
                id => xxx
                name => xxx
            );
        }    
    }这怎么就用到obj转数组了,真不明白你是怎么想,对象衍生对象是产生的,不是转换出来的另外你可以看看php数组对象接口,实现接口以后,对象既可以obj->attr也可以obj['attr']接着你可以看看魔术函数__set()和__get()