list(,,,,,,,,,$user, $pass) = explode("\t", $line);
if(trim($user) == $_POST['username'] && trim($pass) == $_POST['password'] )
消息未定义偏移量10,消息未定义偏移量9。 9和10是$ user和$ pass。我该如何修复错误?并且未定义的偏移意味着它没有被声明或什么?和theres很多,,,,,,,,是因为theres值,但我不需要它为这个PHP
1 个答案:
答案 0 :(得分:7)
在此上下文中,
undefined offset
意味着您在调用list
时需要的参数多于等式右侧数组中的参数。
您期望一个长度为10的数组,但explode("\t", $line)
返回的数组少于10个。
您需要确保在$line
中使用正确数量的制表符分隔值,或使用array_pad
填充explode
的输出。
下面是使用array_pad
确保数组长度为10的示例:
list(,,,,,,,,,$user, $pass) = array_pad(explode("\t", $line), 10, null);
如果$line
未包含足够的标签分隔值,则$user
和$pass
将采用值null
。