嗨我刚接触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;
}
提前感谢您的帮助
答案 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];