我有一个功能可以分隔我的文件内容。示例文件:
001;"text1"
002;"text2"
003;"text3"
999
001;"tekst11"
有时一些索引有几个值:
120;"text2"
120;"text3"
我的功能:
function parseCSV($file) {
$lines = file($file);
$output = array();
$i = -1;
foreach($lines as $line) {
$line = trim($line);
if($line == "999") {
$i++;
} else {
$ex = explode(";", $line, 2);
$val = str_replace("\"", "", $ex[1]);
//$dodaj = mysql_query("INSERT INTO `czynsz` (`$ex[$i]`) VALUES ('$val')");
if(isset($output[$i][$ex[0]])) {
if(is_array($output[$i][$ex[0]])) {
$output[$i][$ex[0]][] = $val;
} else {
$output[$i][$ex[0]] = array($output[$i][$ex[0]], $val);
}
} else {
$output[$i][$ex[0]] = $val;
}
$dodaj = mysql_query("INSERT INTO `czynsz` (`$ex[$i]`) VALUES ('$val')");
}
}
return $output;
}
$csvdata = parseCSV("woda.txt");
echo "<pre>\r\n";
print_r($csvdata);
echo "</pre>\r\n";
上面的脚本使我成为多级数组树,并通过分隔符(999)将数组与它们自身分开,因为在我的文件中有很多数组......当索引有很多值时 - 脚本为他创建了内部树。例如:
Array
(
[0] => Array
(
[001] => 06-001-03-13
[002] => 06447
[003] => F
...
[097] =>
[120] => Array
(
[0] => text1
[1] => text2
)
)
[1] => Array
...
还有我的问题: 在我的 MySQL 库中保存这个巨型数组时遇到问题。数组中的每个索引在数据库中都相同。当同一个索引有很多值(例如 120)时,它可能是内爆的。衷心感谢您提供任何形式的帮助... :(