php 字符串 转 变量,php如何将字符串变成变量名

#####问题产生原因:

有时我们需要将某个字符串转为变量名,下面我们来看下如何实现吧。比如要将'work'变成$work,希望可以帮助到有需要的朋友。

```

$str = 'work';

```

想产生一个$work变量,使用大括号即可。

```

${$str}

```

#####使用场景:

在做统计的时候需要将多张表实例化,本文是基于Thinkphp5.0(这不影响),我在构造函数中示例化了需要用到的表,在统计是根据模块去统计数据所以,需要循环模块然后去统计数据(模块名称和表名称一一对应)

这时候如果直接使用`$this->$v['name']`会保存因为`$v['name']`是字符串。这里使用大括号将`$v['name']`包裹起来就可以了,可能我的需求比较奇怪吧。最后附上渣渣代码:

```

namespace app\service\controller;

use think\Db;

class Count extends Base{

private $accident;

public function construct(Request $request = null)

{

parent::construct($request);

//

if (!isset($this->accident)){

$this->accident = Db::name('accident');

}

}

public function index()

{

//总数

$result['total'] = $this->_counts($modules, $module, $where);

return json(['status' => 1, 'result' => $result]);

}

//总数统计

public function _counts($modules, $module, $where, $date = null)

{

$data = 0;

foreach ($modules as $v){

foreach ($module as $m){

if ($v['id'] == $m){

$data += $this->{$v['name']}->whereTime('add_time', $date)->where($where)->count();

}

}

}

return $data;

}

}

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值