4

メール送信者フォームから投稿値を取得し、すべてのオプション値を数値に設定し、それらを実際の文字列に変換してメールで送信しようとしています。このコードを使いやすくする必要があります。

if ($subject == "1") {
$sub = "General Questions"; 
} elseif($subject == "2") {
$sub = "Membership";
} elseif($subject == "3") {
    $sub = "Club Fees";
} elseif($subject == "4") {
    $sub = "Proshop & Lessons";
} elseif($subject == "5") {
    $sub = "Events"; 
} elseif($subject == "6") {
    $sub == "Leagues & Programs";
} elseif($subject == "7") {
    $sub == "Resturant & Bar";
};

たぶんvalue=''、実際の値に設定して、この部分をすべてスキップすることができます。

4

4 に答える 4

8

連想配列を作ってみませんか?

$subs = array(
  1 => 'General Questions',
  2 => 'Membership',
  3 => 'Club Fees',
  4 => 'Proshop & Lessons',
  // others.
);

$sub = isset($subs[$subject]) ? $subs[$subject] : 'Default Value';
于 2012-04-29T04:28:47.017 に答える
4

書き直す1つの方法はswitch、PHPでステートメントを使用することです。あなたはここでそれについてもっと読むことができます。

于 2012-04-29T04:27:51.187 に答える
3

ステートメントを使用するswitchか、潜在的な結果をそれぞれの値にマップします。

switch ( $subject ) {
  case 1:
    $sub = 'foo';
    break;
  case 2:
    $sub = 'bar';
    break;
}

または

$values = array( "Foo", "bar" );
$sub = $values[ --$subject ];
于 2012-04-29T04:28:58.840 に答える
3

これを試して

<?php
switch ($subject)
{
case "1":
  $sub = "General Questions";
  break;
case "2":
  $sub = "Membership";
  break;
case "3":
  $sub = "Club Fees";
  break;
case "4":
  $sub = "Proshop &amp; Lessons";
  break;
case "5":
  $sub = "Events";
  break;
case "6":
  $sub = "Leagues &amp; Programs";
  break;
case "6":
  $sub = "Resturant &amp; Bar";
  break;
default:
  $sub = "";
}
?>
于 2012-04-29T04:30:38.577 に答える