我有一个TXT文件,每一行都要插入到数组中,如下所示:
阵列([0]=>[1]=>8100[2]=>623[3]=>09:04[4]=>AM[5]=>00:26[6]=>L[7]=>S-ED[8]=>768[9]=>#4506856439[10]=>00:01[11]=>)
CO USER TIME DURATION TYPE ACCOUNT_CODE CALLED_NUM RING_TIME
8100 623 09:04 AM 00:26 L S-E 250821613987
8021 8816 09:06 AM 00:20 I S-E D 768 #4506856439 00:01
8020 09:06 AM I N D 603 #45424044499 00:30
8011 09:07 AM 00:11 I S-E D 727 #7546355292 00:02
" 8817 00:11
" 00:02 H
8100 623 09:07 AM 00:01 L S-E 5542204034
8007 8818 09:08 AM 00:13 I S-E D 618 #45269021726 00:01
8013 8811 09:09 AM 00:01 I S-E D 770 #436217227 00:01
8014 09:10 AM 00:16 I S-E D 652 #4523859922 00:01
我想将它插入到一个包含所有参数的数组中,即使为空,
但我做不到。
我试过这个:
$fh = fopen('captures/131210.txt','r');
while ($line = fgets($fh)) {
$tempexp = preg_split('/'s+/', $line);
print_r($tempexp);
echo "<br />";
}
fclose($fh)
但它对一些值给出了奇怪的输出,比如:
阵列([0]=>[1]=>"[2]=>8812[3]=>00:16[4]=>)
非常感谢您的帮助!
如果文本文件的布局完全基于空格,则可以使用精确的列来提取数据。由于列的宽度不相等,所以不能简单地将其写入一个循环中。
使用substr函数获取部分行(第一个数字是索引,第二个数字是要读取的长度)
$fh = fopen('captures/131210.txt','r');
while ($line = fgets($fh)) {
$co = substr($line, 0, 7);
$user = substr($line, 7, 6);
... etc ...
echo "<br />";
}
fclose($fh)
您可能需要根据内容和您想对其做什么来进一步解析单独的部分-解析为整数、日期、时间等。