php – 从变量中的字符串中获取对象数据

当对象名称(类别)直接放置时,它返回正确的值,如:
$primary = $this->dbmapper->category['primary'] ;  // ( Correct Output )

但是,当将对象名称放在名为$dataname的变量中时,它返回空白,如:

$dataname = 'category';
 $primary = $this->dbmapper->$dataname['primary'] ;   ( Blank Output )

我的构造函数变量是

$this->dbmapper = $this->mapper();

我的功能是:

function mapper($module='')
    {
        $mapper =  array();
        $mapper['category']['table'] = 'allcategory';
        $mapper['category']['primary'] = 'categoryID';
        $mapper['page']['table'] = 'allpages';
        $mapper['page']['primary'] = 'pageID';
        return (object) $mapper;
    }
要通过变量访问对象属性(特别是如果它是一个数组),请用括号括起来:
...
$dataname = 'category';
$primary = $this->dbmapper->{$dataname}['primary'];

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...