dougongnan2167 2011-12-14 14:36
浏览 7
已采纳

是否可以按名称设置类属性?

Simple question here... I was wondering if it's possible to access class propertys by it's name in any way.

Imagine this scenario:

$array = array(
    'foo' => 'bar',
    'hello' => 'world',
    'chuck' => 'norris'
);

And then have this class:

class MegaClass {
    public $foo, $hello, $chuck;
}

I was wondering if I could set MegaClass::foo to bar, MegaClass::hello to world and so on, automatically. So, given the array, and given the object, the object is filled. This could be really handy when retreiving data from a form with properties filled...

  • 写回答

6条回答 默认 最新

  • doupao5296 2011-12-14 14:40
    关注

    Well for one thing if you wanted to do MegaClass::foo they would have to be static.

    And if they were static you could do:

    foreach($array as $key=>$val){
        MegaClass::$key = $val;
    }
    

    And if they were not static (but were still public):

    foreach($array as $key=>$val){
        $MegaClassObject->$key = $val;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来