我需要帮助来解决这个问题:
我有一个像这样的csv文件
你好,再见
再见,再见
正如你所看到的,我试图为一个网站创建一个翻译系统现在我想把这个csv文件转换成数组,生成的数组必须与$langArray
相同<?php $langArray = array([it]=>array([hello]=>ciao,[goodbye]=>arrivederci)); ?>
我已经有了一个解决方案,使用Json文件有这样一个数组,是最有用的,一个csv文件,我可以使用翻译系统也与javascript。但我想知道如何处理csv文件谢谢
如果要读取CSV文件,您应该使用fopen
和fgetcsv
,或者使用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);
?>