2017-11-02 12 views
0

PHP経由でCSVファイルのデータをMySqlにインポートしようとしています。なぜ私はすべての列値のデータ型を文字列として取得していますか?行単位で間違ったデータ型を返すcsvファイルの列

if (($handle = fopen($file, "r")) !== FALSE) { 
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
    echo gettype($data['column']); // i'm getting type as string 
} 
} 

実際に$データ[「列」]整数値である:実際の列は、ここで私は、CSVファイルを読み込むしようとしているここで私のコードがされて... 23、34、5、などのような数値でしかし、私はそれを文字列として取得しています。私がしようとしているのは、データ型に応じてそれらの列を検証することです。

+0

'is_numeric()'関数を試しましたか? –

+0

csvファイルのすべての列が "string"データ型の – rahul

+0

になります。is_numeric( "23") 'をチェックすると' true'が返されます。そして、あなたがインポートしようとしている値が文字列であっても、それを 'INT'フィールドのdatabseに挿入することができます。数字を入力するだけです。 –

答えて

-1

タイプは、変換する特定の列をintデータ型にキャストします。例えばPHPで のようなことをすることができます。$ int =(int)$ data ['column']; echo $ int。

+0

すべての列のgettypeが文字列として取得されています。数値があれば整数を返し、それ以外の場合は他のデータ型を返します。 – rahul

関連する問題