【问题标题】:PHP undefined offset from list()来自 list() 的 PHP 未定义偏移量
【发布时间】:2014-06-25 06:36:22
【问题描述】:
list(,,,,,,,,,$user, $pass) = explode("\t", $line);
if(trim($user) == $_POST['username'] && trim($pass) == $_POST['password'] )

消息未定义偏移量 10 ,消息未定义偏移量 9 。 9 和 10 是 $user 和 $pass。我该如何修复错误?并且未定义的偏移量是否意味着它没有被声明或什么?还有很多,,,,,,,, 是因为存在价值,但我不需要它来处理这个 php

【问题讨论】:

    标签: php


    【解决方案1】:

    undefined offset 在这种情况下意味着您在调用 list 时期望的参数比等式右侧的数组中的参数更多。

    您期望一个长度为 11 的数组,但 explode("\t", $line) 返回一个值少于 11 个的数组。

    您要么需要确保在$line 中有正确数量的制表符分隔值,要么使用array_pad 填充explode 的输出。

    以下是使用array_pad 确保数组长度为11 的示例:

    list(,,,,,,,,,$user, $pass) = array_pad(explode("\t", $line), 11, null);
    

    如果$line 没有包含足够的制表符分隔值,则$user$pass 将采用值null

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多