1

csvソースからデータをインポートするスクリプトがあります。フィールド/列の多くは「コード」にあります。たとえば、学校のフィールドは、実際の学校名に付加された数値です。dbにインポートする前に、コードを実際の名前に変換する必要があります。

私の質問は、「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コードに入力する必要がありますか?

コードマッピングを連想配列に入れると、1つのステートメントで正しい名前が付けられます。

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

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

タイピングから身を守りたい場合は、データファイルをロードして$schoolCodeToName配列を構築するためのコードが必要です。

于 2012-07-20T23:26:32.090 に答える