2016-11-22 40 views
1

我已使用{{$property.[Rent or Sale]}}{{$property[Rent or Sale]}}獲取關鍵租金或銷售額的值。laravel中有空格的數組鍵

它顯示syntax error unexpected')' expected ']'

+0

所以你的意思是說,當你的鍵名用空格分隔時,它會給出錯誤信息? @SaibalChakravarty – PassionInfinite

+0

是@PassionInfinite –

回答

0

首先,根據PHP的的最佳實踐,我們應該從未在 陣列鍵使用空間。其次,這是由我和我的朋友@curos修復的。問題出在不正當的正則表達式,它將'or'解釋爲default keyword。以下是有正則表達式問題的方法。

 public function compileEchoDefaults($value) 
    { 
     return preg_replace('/^(?=\$)(.+?)(?:\s+or\s+)(.+?)$/s', 'isset($1) ? $1 : $2', $value); 
    } 

哪個被更新如下:

 public function compileEchoDefaults($value) 
    { 
     return preg_replace('/^(?=\$)([^\'"]+?)(?:\s+or\s+)(.+?)$/s', 'isset($1) ? $1 : $2', $value); 
    } 

,上述方法是在供應商/ laravel /框架/ SRC /編譯器/ BladeCompiler.php

這個更新的正則表達式不會將'or'解釋爲keyword

請參閱:此錯誤已得到修復laravel

0

你的語法錯了,你必須把它寫這樣 {{$ property.Rent}} {{$ property.Sale}}