CSV文件转换成数组,翻译系统为一个站点


csv file into array , translation system for a site

我需要帮助来解决这个问题:

我有一个像这样的csv文件

你好,再见
再见,再见

正如你所看到的,我试图为一个网站创建一个翻译系统现在我想把这个csv文件转换成数组,生成的数组必须与$langArray

相同
<?php $langArray = array([it]=>array([hello]=>ciao,[goodbye]=>arrivederci)); ?>

我已经有了一个解决方案,使用Json文件有这样一个数组,是最有用的,一个csv文件,我可以使用翻译系统也与javascript。但我想知道如何处理csv文件谢谢

如果要读取CSV文件,您应该使用fopenfgetcsv,或者使用str_getcsv(需要当前PHP或compat库):

 $csv = array_map("str_getcsv", file("it.csv"));

那么构建关联映射需要手动循环:

 foreach ($csv as $line)
     $translate["it"][ $line[0] ] = $line[1];

您可以使用explode为新行拆分一次数据,然后为逗号拆分一次数据,并用它填充一个数组。

<?php
    $translations = array();
    $data = 'hello,ciao
        goodbye,arrivederci';
    $words = explode("'n", $data);
    foreach($words as $w) {
        $parts = explode(',', $w);
        $translations[$parts[0]] = $parts[1];
    }
    print_r($translations);
?>

http://codepad.viper - 7. - com/gckoi9

<?php
$languageArray = ARRAY();
$my_csv_it = 'hello,ciao goodbye,arrivederci';
$tmp_array_it = explode(' ', $my_csv_it);

foreach ($tmp_array_it AS $text) {
  $pairs = explode(',',$text);
  $languageArray['it'][$pairs[0]] = $pairs[1];
}
print_r ($languageArray);
?>