如何使用变量的值作为 属性
How to use the value of a variable as a property
我写了一个使用 PHPExcel 的 PHP-Skript。它应该使用配置文件来创建电子表格。当我尝试应用样式时,我的问题出现了。
我根据配置文件中给出的信息创建了一个样式数组。现在,当谈到例如对齐单元格或边框你会使用类似
的东西
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
其中 HORIZONTAL_CENTER
是所需的 属性。现在,我将这个 属性-name 存储在一个变量中,我不能使用类似
的东西
'horizontal' => PHPExcel_Style_Alignment::$variableWithPropertyName
但我需要使用变量的值,因为可以有不同的属性。
有什么想法吗?
您应该能够使用反射 API 来检索值,如下所示:
$property = new ReflectionProperty('PHPExcel_Style_Alignment', $variableWithPropertyName);
然后可以像这样检索值:
'horizontal' => $property->getValue();
$alignmentsArray = (new ReflectionClass('PHPExcel_Style_Alignment'))->getConstants();
应该return一个可能的对齐值数组,由它们的名称索引,这样你就可以设置
'horizontal' => $alignmentsArray[$variableWithPropertyName]
其中 $variableWithPropertyName
是您的值,例如 HORIZONTAL_CENTER
我写了一个使用 PHPExcel 的 PHP-Skript。它应该使用配置文件来创建电子表格。当我尝试应用样式时,我的问题出现了。
我根据配置文件中给出的信息创建了一个样式数组。现在,当谈到例如对齐单元格或边框你会使用类似
的东西'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
其中 HORIZONTAL_CENTER
是所需的 属性。现在,我将这个 属性-name 存储在一个变量中,我不能使用类似
'horizontal' => PHPExcel_Style_Alignment::$variableWithPropertyName
但我需要使用变量的值,因为可以有不同的属性。
有什么想法吗?
您应该能够使用反射 API 来检索值,如下所示:
$property = new ReflectionProperty('PHPExcel_Style_Alignment', $variableWithPropertyName);
然后可以像这样检索值:
'horizontal' => $property->getValue();
$alignmentsArray = (new ReflectionClass('PHPExcel_Style_Alignment'))->getConstants();
应该return一个可能的对齐值数组,由它们的名称索引,这样你就可以设置
'horizontal' => $alignmentsArray[$variableWithPropertyName]
其中 $variableWithPropertyName
是您的值,例如 HORIZONTAL_CENTER