【问题标题】:Cannot use [ ] for reading无法使用 [ ] 阅读
【发布时间】:2016-07-05 16:43:24
【问题描述】:

我试着做var_dump($_SERVER[]);

我收到了这个错误:

不能使用 [] 读取

有什么提示吗?

【问题讨论】:

  • 因为这会在数组$_SERVER中创建一个新的数字序列元素元素@
  • 更清楚一点,所有super global variables 本身都是数组类型,因此无需在它们前面添加[]
  • 谢谢大家。你们都非常乐于助人。

标签: php syntax var-dump superglobals


【解决方案1】:

你必须使用var_dump($_SERVER);

【讨论】:

    【解决方案2】:

    使用

    var_dump($_SERVER);

    这将打印所有服务器变量。

    【讨论】:

      【解决方案3】:

      删除 [] ;) 只需使用 var_dump($_SERVER);

      【讨论】:

        【解决方案4】:

        目前,每个答案都无法回答Why?

        $_SERVER[] 是用于创建新顺序元素的语法。新键将是数​​字的,从 0 开始。

        例子:

        <?PHP
            $array = [];
            $array[] = 1;
            $array['a test'] = 'nope';
            $array[] = 1;
        
            print_r($array);
        

        这将给出以下输出:

        Array
        (
          [0] => 1
          [a test] => nope
          [1] => 1
        )
        

        为什么不能用它来阅读?

        这很简单:PHP 期望您传递一个值以添加到数组中。由于您不提供任何信息,PHP 无法读取尝试创建的元素。这就像在有鸡之前孵蛋一样。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多