2016-08-09 4 views
-1

1〜12の数値を出力するforeachループがあります。すべての数字が質問と回答の参照です。 switch文は情報を取得し、要約を出力します。スイッチを変数に保存するか、後でスイッチに電話する

foreach ($_POST as $name => $value) { 


    $groupSplit = str_split($name, 5); 
// print_r("Group Num: " . $groupSplit[1] . "<br/>"); 

    $optSplit = str_split($value, 3); // splits opt and the num x 
// print_r("Option Num " . $optSplit[1] . "<br/>"); 



switch ($groupSplit[1]) { 
    case 1: 
     echo "<h2>" . $group1 . "</h2>" . isEven($optSplit[1] . "<br><button onclick='window.history.back()'>Start Over</button><button>Confirm and Send</button>") ; 
     break; 
    case 2: 
     echo "<h2>" . $group2 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 3: 
     echo "<h2>" . $group3 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>" ; 
     break; 
    case 4: 
     echo "<h2>" . $group4 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 5: 
     echo "<h2>" . $group5 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 6: 
     echo "<h2>" . $group6 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 7: 
     echo "<h2>" . $group7 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 8: 
     echo "<h2>" . $group8 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 9: 
     echo "<h2>" . $group9 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 10: 
     echo "<h2>" . $group10 . "</h2>" . isEven($optSplit[1]). "<br><button onclick='window.history.back()'>Start Over</button>" ; 
     break; 
    case 11: 
     echo "<h2>" . $group11 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 12: 
     echo "<h2>" . $group12 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
} 

要約が表示された後、私は電子メールで送信します。複数のケースがあるので、私は電子メールに対してスイッチ機能を再利用できるようにする必要があります。私はそれを変数と値で関数に格納しようとしましたが、うまくいきませんでした。

このスイッチ機能を何回か貼り付けることなく何度も呼び出す方法はありますか?

ありがとうございます。

+0

はい! OOPを使って、開発者としてのあなたの人生を楽しんでください!ロジックからマークアップを分離します。 –

+0

@bubそれは全く役に立たない答えです。質問に答えず、単にOPに他のことを学ばせるように指示しますか?なぜそれを掲示する必要性を感じたのですか? @ Giedrius。 –

+0

。あなたはあなたの質問に定義されていない '$ group1'から' $ group12'までの一連の変数を持っています。これはおそらく、あなたがこのコードを関数に置くことができない理由です。 –

答えて

-1

私は本当に機能を説明しますが、次のコードは、少なくとも、より簡潔でより多くの情報が必要:

if ($groupSplit[1] == 1){ 
    $retVal = "<h2>" . $group1 . "</h2>" . isEven($optSplit[1] . "<br><button onclick='window.history.back()'>Start Over</button><button>Confirm and Send</button>") ; 
} 
else{ 
    $retVal = "<h2>" . ${"group".$groupSplit[1]} . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
} 
+0

なぜdownvote? –

1

は自分でそれをやった、問題は、その機能がforeachの前に宣言されなければなりませんでした。

<?php 



$answers = array(); 
function isEven($number){ 
    if ($number % 2 == 0) { 
     return "No"; 
    } else { 
     return "Yes"; 
    } 
} 


function showSummary(){ 
$group1 = "q1 ?"; 
$group2 = "q1 ?"; 
$group3 = "q1 ?"; 
$group4 = "q1 ?"; 
$group5 = "q1 ?"; 
$group6 = "q1 ?"; 
$group7 = "Does it archive when Archive is clicked ?"; 
$group8 = "q1 ?"; 
$group9 = "Is an Outlook archiving dialogue open ?"; 
$group10 = "Is Outlook still respnonding ?"; 
$group11 = "Does it happen all the time ?"; 
$group12 = "Do you get an error message ?"; 

foreach ($_POST as $name => $value) { 


    $groupSplit = str_split($name, 5); 
// print_r("Group Num: " . $groupSplit[1] . "<br/>"); 

    $optSplit = str_split($value, 3); // splits opt and the num x 
// print_r("Option Num " . $optSplit[1] . "<br/>"); 



    switch ($groupSplit[1]) { 
    case 1: 
     echo "<h2>" . $group1 . "</h2>" . isEven($optSplit[1] . "<br><button onclick='window.history.back()'>Start Over</button><button>Confirm and Send</button>") ; 
     break; 
    case 2: 
     echo "<h2>" . $group2 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 3: 
     echo "<h2>" . $group3 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>" ; 
     break; 
    case 4: 
     echo "<h2>" . $group4 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 5: 
     echo "<h2>" . $group5 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 6: 
     echo "<h2>" . $group6 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 7: 
     echo "<h2>" . $group7 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 8: 
     echo "<h2>" . $group8 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 9: 
     echo "<h2>" . $group9 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 10: 
     echo "<h2>" . $group10 . "</h2>" . isEven($optSplit[1]). "<br><button onclick='window.history.back()'>Start Over</button>" ; 
     break; 
    case 11: 
     echo "<h2>" . $group11 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
    case 12: 
     echo "<h2>" . $group12 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>"; 
     break; 
} 
} 






}showSummary(); 

showSummary(); 
?> 
関連する問題