如何在 php 多维数组中添加 if 条件

How to add if condition in php multidimensional array

我有一个多维数组,我想在数组中添加 if 条件。 喜欢:

$check = "failed";

$data = array(
    "personalizations" => array(
        array(
            "to" => array(
                array("email" => $userEmail, "name" => $userName)
            ),
            if(strpos($check, "SUCCESS") !== false){

            }else{
                "CC" => array(
                    array("email" => $adminEmail,"name" => $adminEmail)
                ) 
            } 
        )
    ),
    "from" => array("email" => $senderEmail, "name" => $senderName),
    "subject" => $subject,
    "content" => array(array("type" => "text/html", "value" => $body))
);

我想给管理员发邮件。如果$subject中没有success这个词,则在数组中添加cc数组,否则不添加cc.

我遇到错误:syntax error, unexpected 'if' (T_IF), expecting ')'

您不能将 PHP 控制结构放在定义这样的数组的中间。首先使用默认值创建数组,然后在后面放置 if-statement 并在需要时将新元素推送到数组。

像这样:

$data = array(
    "personalizations" => array(
        array(
            "to" => array(
                array("email" => $userEmail, "name" => $userName)
            ),
        )
    ),
    "from" => array("email" => $senderEmail, "name" => $senderName),
    "subject" => $subject,
    "content" => array(array("type" => "text/html", "value" => $body))
);

// Now add the condition
if(strpos($check, "SUCCESS") === false){
    $data['personalizations'][0]["CC"] = array(
        array("email" => $adminEmail,"name" => $adminEmail)
    ) 
}