【发布时间】:2018-01-20 21:44:10
【问题描述】:
编辑: 检查 !empty 是否有效 - 但我仍然想知道为什么文件结束后 while 似乎仍在继续。谢谢!
我正在尝试解析一个看起来像这样的文件:
export NTPSERVER_1 NTPSERVER_2 NTPSERVER_3 PSLOGHOST LOGHOST RSSHHOST RHPORT
NTPSERVER_1=8.8.8.8
NTPSERVER_2=
NTPSERVER_3=
LOGHOST="8.8.8.8"
PSLOGHOST=""
RSSHHOST="8.8.8.8"
RHPORT=88888
效果很好,除了数组中有一个额外的最后一个值,没有键和空值。我尝试添加检查 $line 是否为 null 无济于事。而且我已经仔细检查了该文件在 RHPORT 行之后没有任何空行。 我收到“通知:未定义的偏移量:1”消息,数组中的最后一件事是 [""]=> NULL 我不明白为什么 while 似乎没有在文件末尾停止。
$file = fopen("files/network.conf","r");
$i = 0;
while(! feof($file)) {
$line = fgets($file);
if ($i > 0 && !is_null($line)) { // skipping first line of file
$array = explode('=',$line);
$fileValues[$array[0]] = $array[1];
}
$i++;
}
fclose($file);
【问题讨论】:
标签: php text-parsing