【发布时间】:2019-08-28 01:57:59
【问题描述】:
这是我的代码,我在其中读取 csv 文件(我从银行获得),将其解析为数组并将其插入数据库:
$csvFile = file('tecajnica.csv');
$keys = str_getcsv(array_shift($csvFile), ';');
foreach ($csvFile as $csvRecord) {
// combine our $csvRecord with $keys array
$csv[] = array_combine($keys, str_getcsv($csvRecord, ';'));
}
foreach( $csv as $row) {
$db2 = new PDO ("odbc:as400");
$sqlf93p = $db2->prepare("INSERT INTO..... VALUES (".$row['sifra'].",".$row['Kupovni2']." ......)
$sqlf93p->execute();
这就是我的数组的样子:
[0]=>
array(10) {
["id"]=>
string(2) "67"
["drzava"]=>
string(10) "Australija"
["sifra"]=>
string(7) "036 AUD"
["VrijediZa"]=>
string(1) "1"
["Kupovni1"]=>
string(8) "4,5207"
["Kupovni2"]=>
string(8) "4,589597"
}
[1]=>
array(10) {
["id"]=>
string(0) ""
["drzava"]=>
string(5) "Ceska"
["sifra"]=>
string(7) "203 CZK"
["VrijediZa"]=>
string(1) "1"
["Kupovni1"]=>
string(8) "0,277098"
["Kupovni2"]=>
string(8) "0,2821"
}
* * * * * * * 等 * * * * * *
所以我的问题是:
1) 如何将["sifra"]=> "203 CZK" 转换为["sifra"]=> "203"(我只希望在插入前出现数值)?
2) 如何将["Kupovni2"]=> "0,2821" 转换为["Kupovni2"]=> "0,282100"(插入前我想要6 个小数位)?
谢谢。
【问题讨论】:
-
1) 只需转换为整数。 2)将“,”替换为“。”然后使用函数
numer_format。 -
$sqlf94p未定义。你上面的一行使用了$sqlf93p。 -
谢谢。我已将 $sqlf94p 更改为 $sqlf93p。我的错误..
标签: php arrays csv converters