1

我有一个从 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 语句来加快这个过程?

4

2 回答 2

4

  $school = 'school' . (int)$data['school'];

工作?

于 2012-07-20T23:23:38.883 回答
1

您是否将所有这些都保存在一个文件中,或者您是否必须手动将其输入到 PHP 代码中?

您可以将代码映射放入关联数组中,然后单个语句将获得正确的名称。

$schoolCodeToName = array(
    '0001' => 'school1',
    '0002' => 'school2',
    '0003' => 'school3'
    // ...
);

$school = $schoolCodeToName[ $data['school'] ];

如果您想避免打字,那么您需要一些代码来加载数据文件并构建$schoolCodeToName数组。

于 2012-07-20T23:26:32.090 回答