在laravel中具有空间的数组键

时间:2016-11-22 08:12:32

标签: php arrays laravel-5 laravel-5.2

我使用{{$property.[Rent or Sale]}}{{$property[Rent or Sale]}}来获取关键租金或销售的价值。

显示syntax error unexpected')' expected ']'

4 个答案:

答案 0 :(得分: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);
     }

上述方法位于 vendor / laravel / framework / src / compilers / BladeCompiler.php

此更新的正则表达式不会将'or'解释为keyword

请参阅:此错误已由laravel修复

答案 1 :(得分:0)

你的语法错了你必须写它 {{$ property.Rent}} {{$ property.Sale}}

答案 2 :(得分:0)

这个对我有用:config('menus.main_menu.Main\ Section') }}

因此,如果您尝试使用\来转义空格,则可能会起作用。

答案 3 :(得分:0)

尝试这样使用。

<td> <? echo $user->{'Rent or Sale'}; ?> </td>