2015-05-29 170 views
0

我有以下代碼...將項目推送到PHP數組的末尾?

if ($email_selection == "primary") { 

    $default_select = "<option value=''>Select Email</option>"; 
    $select_1 = "selected"; 
    $to_array[] = $profile_primary_email; 

} elseif ($email_selection == "secondary") { 

    $default_select = "<option value=''>Select Email</option>"; 
    $select_2 = "selected"; 
    $to_array[] = $profile_primary_email; 

} elseif ($email_selection == "both") { 

    $default_select = "<option value=''>Select Email</option>"; 
    $select_3 = "selected"; 
    $to_array[] = $profile_primary_email . ',' . $profile_secondary_email; 

} 

if ($manual_email != "") { 

    $to_array[] = $manual_email; 

} 

$to_array_count = count($to_array); 

$to = $to_array["0"]; 

for ($v = 1; $v < $to_count; $v++) { 

    $to = $to . ',' . $to_array[$v]; 

} 

這段代碼的作用是讓一個選擇輸入的值,並基於選擇輸入的值推一個電子郵件地址的$to_array末。然後腳本將每個電子郵件的字符串用逗號分隔,稍後將用作PHP mail()函數中的$to

由於某些原因,選擇字段包含任何值,$manual_email中包含的電子郵件地址不會附加到該數組。但是,如果選擇字段沒有值,則通常將$manual_email附加到空數組。

+0

'$ to_array [0]'和'$ to_array ['0']'在PHP中不一樣。 – PHPglue

+0

刪除或添加引號不會更改腳本的功能。我一直使用它們互換,並且很好。無論如何,我也有同樣的問題。 – Allenph

+0

只是爲了澄清最後一段,如果'$ to_array'包含一些數據,你是否在說'$ manual_email'沒有被追加? – khuderm

回答

1

我不會重寫所有的代碼,但是:

$to_array_count = count($to_array); 

$to = $to_array["0"]; 

for ($v = 1; $v < $to_count; $v++) { 

    $to = $to . ',' . $to_array[$v]; 

} 

應該可能只是:

$to = implode(',', $to_array); 

真的不知道爲什麼你會不使用foreach循環不管怎麼說,如果你打算這樣做的方式。

+0

你說得對。這種方式效率低下,您的解決方案運行良好。謝謝。 – Allenph

相關問題