Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
帮我用PHP解析这个文件 美国东部时间2009年11月27日星期五10:00:01 974 12506 美国东部时间2009年11月27日星期五11:00:01 988 12655 美国东部时间2009年11月27日星期五12:00:01 100512886 美国东部时间2009年11月27日星期五13:00:01 1026 13115 美国东部时间2009年11月27日星期五14:00:01 104213429_Php_Parsing - Fatal编程技术网

帮我用PHP解析这个文件 美国东部时间2009年11月27日星期五10:00:01 974 12506 美国东部时间2009年11月27日星期五11:00:01 988 12655 美国东部时间2009年11月27日星期五12:00:01 100512886 美国东部时间2009年11月27日星期五13:00:01 1026 13115 美国东部时间2009年11月27日星期五14:00:01 104213429

帮我用PHP解析这个文件 美国东部时间2009年11月27日星期五10:00:01 974 12506 美国东部时间2009年11月27日星期五11:00:01 988 12655 美国东部时间2009年11月27日星期五12:00:01 100512886 美国东部时间2009年11月27日星期五13:00:01 1026 13115 美国东部时间2009年11月27日星期五14:00:01 104213429,php,parsing,Php,Parsing,我尝试在\n和\t上分解,但文件中似乎没有选项卡…这将在所有空白集合中拆分,无论大小 Fri Nov 27 10:00:01 EST 2009 974 12506 Fri Nov 27 11:00:01 EST 2009 988 12655 Fri Nov 27 12:00:01 EST 2009 1005 12886 Fri Nov 27 13:00:01 EST 2009 1026

我尝试在\n和\t上分解,但文件中似乎没有选项卡…

这将在所有空白集合中拆分,无论大小

Fri Nov 27 10:00:01 EST 2009 974 12506 Fri Nov 27 11:00:01 EST 2009 988 12655 Fri Nov 27 12:00:01 EST 2009 1005 12886 Fri Nov 27 13:00:01 EST 2009 1026 13115 Fri Nov 27 14:00:01 EST 2009 1042 13429
这将拆分所有空白集合,而不管大小

Fri Nov 27 10:00:01 EST 2009 974 12506 Fri Nov 27 11:00:01 EST 2009 988 12655 Fri Nov 27 12:00:01 EST 2009 1005 12886 Fri Nov 27 13:00:01 EST 2009 1026 13115 Fri Nov 27 14:00:01 EST 2009 1042 13429
它似乎是固定的列宽。您需要:

  • 使用substr()并提取每列,然后修剪空白
  • 使用preg_split()并在一行“/\s+/”中查找两个或更多空格
  • 其他

Explode可能会返回一组空元素,因为它只匹配一个字符/一个空格。

它似乎是固定列宽的。您需要:

  • 使用substr()并提取每列,然后修剪空白
  • 使用preg_split()并在一行“/\s+/”中查找两个或更多空格
  • 其他
Explode可能会返回一组空元素,因为它只匹配单个字符/一个空格

其余的由你决定

$line = "Fri Nov 27 10:00:01 EST 2009         974        12506";
preg_match_all('~\S+~', $line, $parts);
print_r($parts[0]);
其余的由你决定

$line = "Fri Nov 27 10:00:01 EST 2009         974        12506";
preg_match_all('~\S+~', $line, $parts);
print_r($parts[0]);
$lines=explode(“\r\n”,$str); foreach($line作为$line){ echo'date='.substr($line,0,28).PHP_EOL; echo'var1='.substr($line,28,12).PHP_EOL; echo'var2='.substr($line,40,12).PHP_EOL; 回声“
”; } 如果可能,PHP首先将所有传入变量视为整数,因此如果文本文件具有可预测的长度(我可以看到24、12、12个字符),那么0000000 974将被正确解析为整数974,而无需使用trim

如果可以的话,避免使用正则表达式不是总是最好的吗

$lines=explode(“\r\n”,$str); foreach($line作为$line){ echo'date='.substr($line,0,28).PHP_EOL; echo'var1='.substr($line,28,12).PHP_EOL; echo'var2='.substr($line,40,12).PHP_EOL; 回声“
”; } 如果可能,PHP首先将所有传入变量视为整数,因此如果文本文件具有可预测的长度(我可以看到24、12、12个字符),那么0000000 974将被正确解析为整数974,而无需使用trim

如果可以的话,避免使用正则表达式不是总是最好的吗