PHP根据配置设置可变变量
1、打印
Array
(
[date] => 2020-03-17 16:50:03
[reason_1] => 999
[reason_2] => 0
[reason_3] => 888
)
2、代码
//PHP根据配置设置可变变量
public function variableTest(){
//动态获取该配置
$configReason = [
['name'=>'买家原因', 'value'=>'1'],
['name'=>'卖家原因', 'value'=>'2'],
['name'=>'其他', 'value'=>'3'],
];
$reasons = array_column($configReason, 'name', 'value');
$result = $this->variableHandle($reasons);
echo '<pre>';
print_r($result);
echo '</pre>';
exit();
}
public function variableHandle($reasons){
//定义原因初始值
foreach ($reasons as $k => $v){
$reasonName = 'reason' . $k;
$$reasonName = 0;
}
//每个原因对应的订单数量
$reasonNumbers = [ 1 => 999, 3 => 888 ];
//关联:原因,订单数量
foreach ($reasonNumbers as $k => $v){
$reasonName = 'reason' . $k;
$$reasonName = $v;
}
//定义返回值
$result = [
'date' => date('Y-m-d H:i:s')
];
//动态拼接返回值
foreach ($reasons as $k => $v){
$reasonName = 'reason' . $k;
$result = array_merge($result, ['reason_' . $k => $$reasonName]);
}
return $result;
}