内联如果在数组内 - 意外“=>”

时间:2014-01-02 11:07:19

标签: php laravel

我正在尝试在数组中运行if语句。该数组用于更新数据库表行。不过我对此有几个问题。

1)

在执行类似下面的操作时,我收到错误syntax error, unexpected '=>'

[
   'column1' => 'some data',
   ($var === true ? 'column2' => 'another column', : '')
]

因此,如果这可以使用=>,我的另一个问题是:

2)

如果$var === false,那么这也不会失败,因为它会尝试将''插入数组中吗?对此不太确定。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

初始化数组时不能写出类似的条件 - 你可以改为:

$array = [
  'column1' => 'some data'
];

$var === true && $array['column2'] = 'another column';

答案 1 :(得分:1)

$array = array(
   'column1' => 'some data',
)

if($var === true) 
   $array['column2'] = 'another column';

答案 2 :(得分:0)

不可能吗? :

if($var === true) $array['column2'] = 'another column';

'column2' => ($var === true) ? 'another column' : '',

从未尝试过,或看过它。但也许别人知道。