2011-08-12 75 views
1

喜即時通訊新的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; 
       } 

在此先感謝您的幫助

回答

4

PHP不允許這種語法。你必須存儲從爆炸的值,然後選擇你想要的部分:

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

感謝您的幫助.. :) – hussein

+1

對於那些從谷歌登陸這裏:這句法** **被作爲支持的PHP版本5.4。 – jonathanverner

0

不能立即使用爆炸()函數的返回值作爲數組。你應該把它存儲在一個變量:

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

雖然,這個功能將在PHP 6

0

你需要做的介紹:從

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

PHP只能標數組元素變量,而不是來自堆棧上的返回值。

你需要一箇中間變量或使用該結構,它看起來像你需要什麼...

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

現在$key$value將有您所需要的值。它也短,很好看:)

+0

列表是一個好主意,+1! –

+0

不錯的簡短版本。我喜歡! – Andreas

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

你必須將它拆分了......和擺脫繼續...

0

的爆炸功能後,您不能使用索引。嘗試是這樣的:

$array = explode("=", $part); 
$value = $array[1]; 
相關問題