繁体   English   中英

PHP 数组键的多个值

[英]Multiple values for PHP array key

我有一个相当简单的脚本,它使用硬编码数组来加载员工及其姓名和电子邮件,然后遍历每个数组元素并设置一个 email 地址数组,以便将每个报告通过电子邮件发送给正确的人。

问题是每个员工都会有多个电子邮件,所以我需要让 email 键使用多个地址,然后当我在下面循环时需要 email 向多个人报告

改变这个的最好方法是什么?

        $items = array(
        array(
         "employee" => 5273,
         "name" => "Jon Doe",
         "email" => "emp1@newSite.com"
        ),
        array(
         "employee" => 5274,
         "name" => "Jane Doe",
         "email" => "emp2@newSite.com"
        ),
        
    );

    foreach($items as $item){
        
        $dealerNum = $item["employee"];
        $dealerName = $item["name"];

        $emails = config('emails.employees');
        if (array_key_exists('email',$item)){ 
                $emails['to'][] = $item['email'];  
        }
    }

email值设为数组。 然后你可以 append 到$emails['to']

无需每次循环都调用config('emails.employees') 在循环之前调用一次,然后添加到循环内的电子邮件中。

$items = array(
    array(
        "employee" => 5273,
        "name" => "Jon Doe",
        "email" => ["emp1@newSite.com"]
        ),
    array(
        "employee" => 5274,
        "name" => "Jane Doe",
        "email" => ["emp2@newSite.com", "emp3@newSite.com"]
        ),
        
    );

$emails = config('emails.employees');
foreach($items as $item){
        
    $dealerNum = $item["employee"];
    $dealerName = $item["name"];

    if (array_key_exists('email',$item)){ 
        $emails['to'] += $item['email'];
    }
    $emails['to'] = array_unique($emails['to']); // remove duplicates
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM