php 将csv转换为json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 将csv转换为json相关的知识,希望对你有一定的参考价值。

<?php
$f = fopen(getcwd() . '/languages.csv', 'r');
$languages = ['ru', 'en', 'ua', 'de', 'ch'];
$i18n = [];
$keyPos = 0;
while (!feof($f)) {
    $data = fgetcsv($f, 10000, '|');
    if (is_array($data)) {
    	foreach ($data as $i => $item) {
    		$item = preg_replace('/\"/', '\\"', $item);
    		$data[$i] = trim(preg_replace('/\\ n/', '\n', $item));
    	}
    	if ($data[$keyPos]) {
		    $key = $data[$keyPos];
		    unset($data[0]);
		    foreach ($data as $i => $text) {
		    	if ($text) {
		    		$items[$languages[$i-1]] = ['key' => $key, 'text' => $text];
		    	}
		    }

		    foreach ($items as $lang => $item) {
		    	$i18n[$lang][] = $item;
		    }
		}
	}
}
foreach ($i18n as $lang => $translates) {
	$str = '{'.PHP_EOL;
	foreach ($translates as $i => $item) {
		$str .= "\"{$item['key']}\": \"{$item['text']}\"";
		if (count($translates) > ($i + 1)) {
			$str .= ',';
		}
		$str .= PHP_EOL;
	}
	$str .= '}';
	$res = file_put_contents(getcwd() . '/'.$lang.'.json', $str);
}

以上是关于php 将csv转换为json的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Csv 转换为 Json 并使用 Php 接收 Post?

如何在 php 中将 Json 转换为 CSV

PHP MySQLi将结果集转换为CSV或JSON

CSV 到 JSON 与 PHP?

无法将 .json 文件从 CSV 下载到 JSON 转换并且无法将 JSON 转换为 CSV

csv转换obj