Php在数组中插入速记:

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这是我的尝试,但我遇到了错误:

     $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
的键进行测试,如我的编辑中所述)。