语法错误,意外'['

时间:2011-08-12 00:04:37

标签: php

嗨我刚接触php并且我有这个错误我不知道是什么原因我试图解决它但没有运气..   这是错误

syntax error, unexpected '[' in C:\wamp\www\co\admin\modules\common\lib\classes\modules.php on line 169

这是我的代码

                foreach ( $parts as $part )
                {
169=>               $value = explode( "=", $part )[1];
                    $key = explode( "=", $part )[0];
                    if ( !$key )
                    {
                        continue;
                    }
                    $temp[$key] = $value;
                }

提前感谢您的帮助

6 个答案:

答案 0 :(得分:5)

PHP只能从变量中下标数组元素,而不能从堆栈中返回的值中下标。

你需要一个中间变量或使用这个看起来像你需要的结构...

list($key, $value) = explode('=', $part);

现在$key$value将拥有您需要的值。它也更短更好阅读:)

答案 1 :(得分:4)

PHP不允许这种语法。您必须存储来自explode的值,然后选择您想要的部分:

$value = explode("=", $part);
$value = $value[1];
// etc

答案 2 :(得分:0)

您不能立即将explode()函数的返回值用作数组。您应该将其存储在变量中:

$value = explode("=", $part);
$value = $value[1];

尽管如此,这个功能将在PHP 6中引入。

答案 3 :(得分:0)

你需要这样做:

$set = explode( "=", $part );
$key = $set[0];
$value = $set[1];

答案 4 :(得分:0)

foreach ( $parts as $part )
{
  $array = explode( "=", $part );
  $key = [0];
  $value = $values[1];
  if ( $key )
  {
     $temp[$key] = $value;
  }
}

你必须把它拆分......然后摆脱继续......

答案 5 :(得分:0)

爆炸功能后,您无法立即使用索引器。尝试这样的事情:

$array = explode("=", $part);
$value = $array[1];