这有点奇怪。我正在用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,
),
),
),
);
如果查询类型是实时的,我试图让它向数组添加一行。这是我尝试过的方法,但是我不确定是否可以执行此操作,否则,我不确定应该如何处理。我在下面看到的错误提示可能无法实现:
解析错误:语法错误,意外的'if'(T_IF),期望为')'
答案 0 :(得分:5)
您应该将其作为两个单独的调用来完成:
$array = ['your', 'array', 'with', 'fields']
if ($queryType === 'realtime') {
$array[] = ['source' => 'realtime'];
}
显然,将值更改为您的期望值,但这应该可以完成工作。如果您希望在根目录级别添加它,也可以像这样追加:
if ($queryType === 'realtime') {
$array['source'] = 'realtime';
}