我有一个从csv源导入数据的脚本。许多字段/列都在“代码”中。例如,学校字段是与实际学校名称相对应的数字编号。我需要在导入数据库之前将代码转换为实际名称。
我的问题是,除了使用“if”语句之外,还有更快的方法来执行此转换。一些需要转换的字段有20多个选项,所以我想知道是否有另一种方式来编写转换而不是20个if语句。现在我有:
if($data['school'] = 0001) {$school = "school1"; }
if($data['school'] = 0002) {$school = "school2"; }
if($data['school'] = 0003) {$school = "school3"; }...
or i could use if else statements
所以我的问题是:有没有更快的方法通过某种数组或循环或其他类型的php语句,我可以加快这个过程?
答案 0 :(得分:4)
会
$school = 'school' . (int)$data['school'];
工作?
答案 1 :(得分:1)
你是否在文件中拥有所有这些内容,或者你必须手动将其输入PHP代码?
您可以将代码映射放入关联数组中,然后单个语句将获得正确的名称。
$schoolCodeToName = array(
'0001' => 'school1',
'0002' => 'school2',
'0003' => 'school3'
// ...
);
$school = $schoolCodeToName[ $data['school'] ];
如果您希望自己保存输入,那么您需要一些代码来加载数据文件并构建$schoolCodeToName
数组。