I have 3 if statements (see code). Each for creating an array of email addresses. How can I merge those 3 strings into a $to
(knowing that they could be empty or doesn't even exist)?
Apparently this doesn't work...
if ( in_array('client', $measurement_mail_report_recipients) ) {
$measurement_client_id = intval($_POST['acf']['field_5e147914518a6']);
$list1 = array();
if (have_rows('company_email_addresses', $measurement_client_id)) {
while (have_rows('company_email_addresses', $measurement_client_id)) {
the_row();
$list1[] = get_sub_field('company_email_address');
}
}
}
if ( in_array('contact', $measurement_mail_report_recipients) ) {
$measurement_contact_id = intval($_POST['acf']['field_5e149714d044e']);
$list2 = array();
if (have_rows('contact_email_addresses', $measurement_contact_id)) {
while (have_rows('contact_email_addresses', $measurement_contact_id)) {
the_row();
$list2[] = get_sub_field('contact_email_address');
}
}
}
if ( in_array('extra', $measurement_mail_report_recipients) ) {
$measurement_mail_extra_recipients = $_POST['acf']['field_5f71d4eaaf381'];
if ( $measurement_mail_extra_recipients ) {
$list3 = array();
foreach( $measurement_mail_extra_recipients as $measurement_mail_extra_recipient ) {
$list3[] = $measurement_mail_extra_recipient['field_5f71d55aaf382'];
}
}
}
$to = array_merge($list1, $list2, $list3);
I know what I forgot. I had to declare the array empty in case the if statement wasn't triggered. Check my working code below:
if ( in_array('client', $measurement_mail_report_recipients) ) {
$measurement_client_id = intval($_POST['acf']['field_5e147914518a6']);
$list1 = array();
if (have_rows('company_email_addresses', $measurement_client_id)) {
while (have_rows('company_email_addresses', $measurement_client_id)) {
the_row();
$list1[] = get_sub_field('company_email_address');
}
}
} else { $list1 = array(); }
if ( in_array('contact', $measurement_mail_report_recipients) ) {
$measurement_contact_id = intval($_POST['acf']['field_5e149714d044e']);
$list2 = array();
if (have_rows('contact_email_addresses', $measurement_contact_id)) {
while (have_rows('contact_email_addresses', $measurement_contact_id)) {
the_row();
$list2[] = get_sub_field('contact_email_address');
}
}
} else { $list2 = array(); }
if ( in_array('extra', $measurement_mail_report_recipients) ) {
$measurement_mail_extra_recipients = $_POST['acf']['field_5f71d4eaaf381'];
if ( $measurement_mail_extra_recipients ) {
$list3 = array();
foreach( $measurement_mail_extra_recipients as $measurement_mail_extra_recipient ) {
$list3[] = $measurement_mail_extra_recipient['field_5f71d55aaf382'];
}
}
} else { $list3 = array(); }
$recipients = array_merge($list1, $list2, $list3);
$to = array_filter($recipients);