dongmu2174 2013-04-16 17:34 采纳率: 100%
浏览 161
已采纳

需要在PHP上“动态”调用静态属性

I'm having the following issue.

Inside my Banner class I have:

public static $flag_status = array(
                               'Unpublished'
                          ,    'Published'
                          );

Out of the Banner class, I have an array that contains the 'flag_status' value which represents the attribute on the Banner class.

Let's suppose that I'm getting this value from the array and storing on a variable like this:

$name_attr = 'flag_status';

I need to call:

Banner::$name_attr; 

And it should return the same as calling:

Banner::$flag_status;

Is it possible to do?

  • 写回答

1条回答 默认 最新

  • doulongsha5478 2013-04-16 17:36
    关注

    Use two dollar signs:

    Banner::$$name_attr;
    

    Example:

    class Foo {
        public static $flag_status = array( 'foo', 'bar' );
    }
    
    $name_attr = 'flag_status';
    
    print_r(Foo::$$name_attr);
    

    Produces:

    Array
    (
        [0] => foo
        [1] => bar
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决