PHP在数组中放入了一个if命令

Jim*_*mmy 0 php

这有点奇怪.我在PHP中构建一个数组,然后在我吐出之前将其编码为JSON.

$arr = array (
  'reportDescription' => 
  array (
    if ($queryType == "realtime") 
    {
        'source' => 'realtime',
    }
    'reportSuiteID' => 'rbsglobretailprod',
    'dateGranularity' => $queryGran,
    'dateFrom' => $queryFrom,
    'dateTo' => $queryTo,
    'elements' => 
    array (
      0 => 
      array (
        'id' => $queryElement,
      ),
    ),
    'metrics' => 
    array (
      0 => 
      array (
        'id' => $queryMetric,
      ),
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

如果查询类型是实时的,我试图让它为数组添加一行.这就是我尝试的但我不确定是否可以这样做,如果不是,我不确定我应该如何处理它.我得到的错误表明它可能是不可能的:

解析错误:语法错误,意外'if'(T_IF),期待')'

Mik*_*key 5

你应该把它作为两个单独的调用:

$array = ['your', 'array', 'with', 'fields']
if ($queryType === 'realtime') {
    $array[] = ['source' => 'realtime'];
}
Run Code Online (Sandbox Code Playgroud)

显然用您的期望值更改值,但这应该完成工作.如果你想要它在根级别,你也可以这样添加:

if ($queryType === 'realtime') {
    $array['source'] = 'realtime';
}
Run Code Online (Sandbox Code Playgroud)