这是使用PHP switch语句的正确方法

时间:2011-04-18 03:23:53

标签: php email sendmail switch-statement

嗨,我是php的新手 如何使用$ subject $ message $ headers

向具有不同电子邮件ID的所选城市发送邮件
$selectcity = array("Bengaluru","Coimbatore","Chennai");                                                                                                         
switch(trim($selectcity))
{
        case "Bengaluru":
        {
        $to = 'one@gmail.com''$subject''$message''$headers';
        break;
        }
        case "Coimbatore":
        {
        $to = 'two@gmail.com''$subject''$message''$headers';
                break;
        }
        case "Chennai":
        {
        $to = 'three@gmail.com''$subject''$message''$headers';
                break;
        }       
    }

4 个答案:

答案 0 :(得分:1)

PHP中的

trim()不支持数组。在switch语句中,您应该放置一个选定的结果,而不是可用的选项。

参考:http://php.net/manual/en/function.trim.php

示例:

假设您有一个表单来发送选择选项(例如表单中的下拉框):

$selected = trim($_POST['ddb_city']);
switch($selected) {
   // the cases
}

另外,要发送电子邮件,请查看PHP中的mail()函数(http://php.net/manual/en/function.mail.php)。您当前的语法错误。

答案 1 :(得分:1)

您无法打开阵列。您需要具有特定值才能打开,就像数组中的元素一样。

$selectcity = array("Bengaluru","Coimbatore","Chennai");                                                                                                         
$i=0;  // this doesn't really make sense in the context, just used for the example
switch(trim($selectcity[$i]))
{
    case "Bengaluru":
      $to = 'one@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
      break;

    case "Coimbatore":
      $to = 'two@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
      break;
    case "Chennai":
      $to = 'three@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
      break;
    default:
      $to = 'four@gmail.com';
      $subject="subject";
      $message="message";
      $headers="test";
}

答案 2 :(得分:1)

每个case语句中不需要{}括号。如果您从表单中选择城市,或许类似以下内容将有所帮助:

<?php
$selectedCity = $_GET['city'];
switch(trim($selectedCity))
{
    case 'Chennai':
        $to = "<contents>";
        break;
    case 'Bengaluru':
        $to = "<contents>";
        break;
    default: // do whatever you want when they've selected something unexpected.

        break;
}
?>

答案 3 :(得分:0)

$selectcity = array_map('trim',array("Bengaluru","Coimbatore","Chennai"));

// the assumiing your value for city is coming form a form and you want to determine 
// address to send to       
switch($_POST['city'];)
{
        case "Bengaluru":
          $to = "'one@gmail.com''$subject''$message''$headers'";
          break;

        case "Coimbatore":
          $to = "'two@gmail.com''$subject''$message''$headers'";
          break;

        case "Chennai":
          $to = "'three@gmail.com''$subject''$message''$headers'";
          break;

}