标题可能会令人困惑,所以我会尽量描述这个问题。这是要解析的文本文件:
server1 2013-08-27 08:42:01
username1 902 1 0 Aug26 ? 00:01:51 Text here
username1 2044 1 0 Jul14 ? 04:54:52 Text here
server2 2013-08-27 08:42:03
username2 2184 1 1 Jul17 ? 10:21:11 Text here
server3 2013-08-27 08:42:05
username3 2225 1 0 Jul17 ? 05:04:25 Text here
server2 2013-08-27 08:42:07
username2 13233 1 0 Jul15 ? 00:15:09 Text here
username2 13233 1 0 Jul15 ? 00:15:09 Text here
server3 2013-08-27 08:42:09
username3 6131 1 0 Jul15 ? 00:22:19 Text here
如您所见,服务器没有任何特定的顺序。我想要实现的是将服务器及其各自的文本位放入数组中。该程序将解析该文件,并且只要找到“server1”,它就会将该行和下面的所有内容放入一个名为“server1”的数组中。当它找到一个具有不同名称的服务器时,它会将所有文本行添加到另一个数组中,例如。“服务器 2”或“服务器 3”。
输出将类似于:
//serverX,其中 X 为 1-99
array(n){
[0]=> string(n) "serverX ..."
[1]=> string(n) "usernameX ..."
[2]=> string(n) "usernameX ..."
[3]=> string(n) "usernameX ..."
[4]=> string(n) "serverX ..."
[5]=> string(n) "usernameX ..."
}
这意味着所有服务器(server1..n)都将有一个数组,其中添加了字符串。