Php在数组中插入速记:
我正在做一个函数,其中包含一些必须添加到数组中的变量 数组名为$params这是我的尝试,但我遇到了错误:Php在数组中插入速记:,php,if-statement,Php,If Statement,我正在做一个函数,其中包含一些必须添加到数组中的变量 数组名为$params这是我的尝试,但我遇到了错误: $params = array( 'Target' => 'Report' ,'Method' => 'getStats', $fields == null ? 'fields' => $fields : 'gg' ,'filters' => array( 'Stat.affiliate_i
$params = array(
'Target' => 'Report'
,'Method' => 'getStats',
$fields == null ? 'fields' => $fields : 'gg'
,'filters' => array(
'Stat.affiliate_id' => array(
'conditional' => 'EQUAL_TO'
,'values' => array( $affId ))
,'Stat.date' => array (
'conditional' => 'BETWEEN'
,'values' => array(
$startDate
,$endDate
)
)
)
,$ascSorting
//group by day
,'groups' => array(
$grouping_type)
,'totals' => true
);
如果出现以下情况,我的速记会出错:
$fields == null ? 'fields'=> $fields : ''
我的目标是得到这样的东西:
($fields == null ? 'fields'=>$fields : '')
因此,如果$fields为null或未设置,则甚至不应在数组中设置索引字段我只能看到这个问题:
更改$fields==null?“字段'=>$fields:'gg'
至'fields'=>($fields==null?'gg':$fields)
编辑:
如果参数根本不存在,则在$param声明之后使用单独的语句
如果($fields!=null)$param['fields']=$fields代码>
如果订单也很重要,您需要将其进一步拆分。我只能看到这个问题:
更改$fields==null?“字段'=>$fields:'gg'
至
'fields'=>($fields==null?'gg':$fields)
编辑:
如果参数根本不存在,则在$param声明之后使用单独的语句
如果($fields!=null)$param['fields']=$fields代码>
如果顺序也很重要,您需要将其进一步拆分。请提供错误,并举例说明最终数组的外观。@NiKiZe it’s my shorthand,如果这是数组中的问题!“我想检查变量$field是否已设置请提供错误,以及最终数组的外观示例。@如果数组中存在问题,请将其简化为我的缩写!”!我想检查变量$field是否已设置这会起作用,但我的想法是,如果$fields不存在,甚至不应该有字段索引(我知道我的问题指出它应该设置为gg,但实际上它根本不应该设置),所以类似这样:($fields==null?'fields'=>$fields:“”)简写if语句只返回一个值,不能按您希望的方式使用,只能在一个if中的键或值周围使用if,而不能在两个if之间使用if。如果您将键“fields”更改为“nofields”,如果它为空,这是否是一种解决方案?它会,但我使用的API非常敏感…:然后,您必须在至少2条语句上拆分生成数组,如果顺序更为重要,(但我建议您首先只使用带有if
的键进行测试,如我的编辑中所述。这会起作用,但我的想法是,如果$fields不存在,甚至不应该有字段索引(我知道我的问题表明它应该设置为gg,但实际上它根本不应该设置)所以类似这样:($fields==null?'fields'=>$fields:“”)简写的if语句只返回一个值,并且不能按您希望的方式使用,您只能在一个if中的键或值周围有if,而不能在两个if中都有if。如果将键“fields”更改为null时的“nofields”,这会是一个解决方案吗?但我使用的API非常敏感…:SWell然后您将不得不拆分gener在至少2条语句上测试数组,如果顺序更为重要,(但我建议您首先只使用带有if
的键进行测试,如我的编辑中所述)。