【发布时间】:2020-01-03 05:08:36
【问题描述】:
仅当我使用 explode 语句处理文件时,才会出现未定义的偏移错误。它说由explode语句创建的数组是未定义的,但不是,当我按照注释行中的代码处理普通explode语句时。
解释是什么?
额外信息——我当然在文件中使用了制表符:
<?php
$file = "../hai/jobs.txt";
if (file_exists($file))
{
$handle = fopen($file, "r");
if (!empty($file))
{
while (!feof($handle))
{
$curLine = fgets($handle);
if ($curLine != "")
{
$line = explode("\t", $curLine);
echo $line[1];
//$a = "hai,how,are,you,going";
//$array = explode (",", $a);
//echo $array[1];
}
}
}
fclose($handle);
}
?>
</body>
</html>
【问题讨论】:
-
如果您的文件中有一行没有制表符,则爆炸中不会有
[1]元素。请向您显示文件内容和您的预期结果。给这只猫剥皮的方法不止一种。附:!empty($file)是毫无意义的检查。 -
是的,我在文件中使用了制表符,这就是我将内容插入文件的方式---
$contents = $pid. " \t ".$title." \t".$description." \t ".$closing_date." \t ".$state." \t " .$contract." \t ".$position." \t ".$Application."\n"; -
如果您在 cmets 中添加参数来质疑为什么应该重新打开它会更好。由于重新打开关闭选民可能看不到其他评论。