我有一个分号分隔值的文件,如下所示:
1;data
2;data
3;data
...
Z;data
每个文件的行数Z可以更改。我们的想法是解析数据并将其放入数据库中。所以我做了以下几点:
$contents = file_get_contents($filename);
$line = explode(chr(13),$contents);
现在我按照以下方式逐行检查,事情还可以。
$n = 0;
while ($line[$n] != "") {
//lots of magic stuff that works
$n = $n + 1;
}
现在由于没有必要解释的原因,我需要首先解析Z行然后再解析为1。我该怎么做呢?
答案 0 :(得分:5)
您可以通过两种方式完成此操作:
1。只需反转您的阵列,例如
WaitCommEvent
然后你可以循环完成如下:
$array = array_reverse($array);
2。计算数组的元素
首先计算数组的元素,然后循环直到索引0。
foreach($array as $v) {
//Your magic stuff with $v
}
我会选择第一种方式,因为你的变量少得多,而且这种方式更清晰。
答案 1 :(得分:0)
如果我理解正确,你想在while循环期间从数组中的最后一个单元格转到第一个单元格。所以,你可以去:
$n = (count($line) - 1);
while ($line[$n]!="") {
lots of magic stuff that works
$n=$n-1;
}