2017-05-31 7 views
-1

私は3つのファイルをループするスクリプトを持っています。 各ファイルは、apiにデータをポストし、変数$ resultにAcceptedまたはRejectedのいずれかの結果を返します。投稿後の結果を返す

受け入れられた応答では、スクリプトは実行を停止し、結果をエコーし​​ます。 Rejectedでは、拒否されたレスポンスをエコーアウトして次のファイルに引き継ぎます。

問題は次のとおりです。3つのファイルすべてが拒否応答を返すとします。拒否応答が3回返されます。

受け入れられた応答が得られない場合は、1つの汎用応答のみをエコーアウトできますか。

foreach($getSeq as $key){ 

     $fileName = $key->file; 
     include_once 'Lenders/' . $fileName; 

     if($result == 'Accepted'){ 

      echo 'Accepted'; 
      break; 

     } 
     if($result == 'Rejected'){ 

      echo 'Rejected'; 
     } 


    } 
+0

1件の受諾と2件の拒否はどうなりますか? – Swellar

+0

私は質問を理解していない、 'Accepted'で行ったように' foreach'から抜け出すことができますか? – ImAtWar

+0

@ImAtWar最初の拒否でOPが壊れた場合、OPは "3 reject responses"に達しません – Swellar

答えて

1

を拒否:

<?php 
    $resultArr = array(); // suppose we insert below Accepted = 1 and Rejected = 0 
    foreach($getSeq as $key){ 

     $fileName = $key->file; 
     include_once 'Lenders/' . $fileName; 

     if($result == 'Accepted'){ 
      echo "Accepted"; 
      $resultArr[] = 1; 
      break; 

     } 
     if($result == 'Rejected'){ 
      $resultArr[] = 0; 
     } 
    } 

    if(!in_array(1, $resultArr)){ 
     echo 'Rejected'; 
    } 
1

であろうが、他の比に何が起こるか場合は、前記なかっ(1A:2R、2A:1R)応答

$failed = 0; 
foreach($getSeq as $key){ 
    $fileName = $key->file; 
    include_once 'Lenders/' . $fileName; 

    if($result == 'Accepted'){ 

     echo 'Accepted'; 
     break; 

    } 
    if($result == 'Rejected'){ 
     $failed++; 
    } 


} 

if($failed == 3) { 
    echo "Rejected"; 
} 

を拒否これは3のために特別であり、これを試し、私はちょうど3のためにそれを作成したあなたは以下のような配列()でそれを行うことができます

関連する問題