我有以下3个变量:
private $a_total;
private $b_total;
private $c_total;
现在,当字段填写了一些总计数据时,这些字段的名称是“a”,“b”和“c”。我想将它动态存储到以下变量:
$type = $_POST['totaltype']; //either a, b or c
$to_save = "{$type}_total";
$this->$to_save['total'] = some number;
如果我尝试
print_r($this->$to_save);
它给出了空数组。如果我试着:
print_r($this->$to_save['total']);
它给出正确的数字。
任何人都可以帮忙吗?
注意:我想动态使用,因为这些数据将在一个大循环中,因此我不想重复使用$a_total
,$b_total
,$c_total
,因为我将拥有更多a
,b
和c
变量。
答案 0 :(得分:1)
您可以将变量名称包装在类中的花括号中:
$this->{$type . "_total"} = 5;
当像数组一样访问它时同样有效:
$this->{$type . "_total"}['total'] = 5;
您还可以将变量的全名保存在字符串中,例如$to_save
,并以相同的方式访问它:
$to_string = $type . '_total';
$this->{$to_string}['total'] = 5;
print_r($this->{$to_string});
答案 1 :(得分:0)
将$a_total
更改为$total['a']
,将$b_total
更改为$total['b']
,将$c_total
更改为$total['c']
,
然后您可以动态访问这些值。