那是代码:
$myarray = ['asdf' => array(), 'zxcv' => array()];
while (!feof($file))
{
$line = fgets($file);
if (strpos($line, "mystring")
{
$temp = explode(" ", $line);
$temp2 = explode(":", $temp[2]);
if (array_key_exists('1', $temp2))
{
$myarray['asdf'][] = "1";
}
}
}
仅在解析大文件(2mil+ 行)时才会出现问题。转储数组表明值在那里(相同的“mystring”计数给了我和 Notepad++),但是这个通知看起来像array_key_exists()
返回 false,而不是。有任何想法吗?
我的目标的简要说明:文件中的行具有以下结构 - blabla mystring blabla blabla
,最多 20 个空格分隔符。准确地说mystring
是DHCPOFFER。在我的情况下,我试图在数组中插入满足条件并将行添加到日志文件(isc-dhcpd 日志文件)的时间。旁边的 blablamystring
是 nn:nn:nn,这是一种标准时间模式。