PHP将if命令放入数组中
这有点奇怪。我正在用PHP构建一个数组,然后将其编码为JSON,然后再将其输出PHP将if命令放入数组中,php,Php,这有点奇怪。我正在用PHP构建一个数组,然后将其编码为JSON,然后再将其输出 $arr = array ( 'reportDescription' => array ( if ($queryType == "realtime") { 'source' => 'realtime', } 'reportSuiteID' => 'rbsglobretailprod', 'dateGranularity' =>
$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,
),
),
),
);
如果查询类型是realtime,我试图让它在数组中添加一行。这是我尝试过的,但我不确定是否有可能做到这一点,如果没有,我也不确定应该如何处理。我在下面得到的错误表明这可能是不可能的:
分析错误:语法错误,意外的'if'(T_if),应为''
您应该将其作为两个单独的调用来执行:
$array = ['your', 'array', 'with', 'fields']
if ($queryType === 'realtime') {
$array[] = ['source' => 'realtime'];
}
很明显,用你的期望值来改变这些值,但这应该可以做到。如果需要在根级别追加,也可以这样追加:
if ($queryType === 'realtime') {
$array['source'] = 'realtime';
}
您应该将其作为两个单独的调用来执行:
$array = ['your', 'array', 'with', 'fields']
if ($queryType === 'realtime') {
$array[] = ['source' => 'realtime'];
}
很明显,用你的期望值来改变这些值,但这应该可以做到。如果需要在根级别追加,也可以这样追加:
if ($queryType === 'realtime') {
$array['source'] = 'realtime';
}
删除
if
语句。声明数组后,添加类似以下内容:if($queryType==“realtime”){$arr['source']='realtime';}
可能将其用作删除if
语句。声明数组后,添加类似以下内容:if($queryType==“realtime”){$arr['source']='realtime';}
可能将其用作