我需要帮助来解决这个问题:
我有一个像这样的csv文件
您好,侨
再见,arrivederci
正如您所见,我尝试为网站创建翻译系统 现在我想把这个csv文件放到一个数组中,结果数组必须和$ langArray相同
<?php $langArray = array([it]=>array([hello]=>ciao,[goodbye]=>arrivederci)); ?>
我已经有一个使用Json文件的解决方案来拥有这样的数组,并且最有用的是csv文件和我也可以使用javascript的翻译系统。但我想知道用csv文件做到这一点的方法谢谢
答案 0 :(得分:3)
要阅读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];
答案 1 :(得分:0)
您可以使用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);
?>
答案 2 :(得分:0)
<?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);
?>