加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-11-06 14:02:26 所属栏目:PHP教程 来源:未知
导读: #####问题产生原因:
有时我们需要将某个字符串转为变量名PHP字符串变量,下面我们来看下如何实现吧。比如要将'work'变成$work,希望可以帮助到有需要的朋友。
```
$str = 'wo

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

有时我们需要将某个字符串转为变量名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;

}

}

```

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!