2017-05-31 173 views
-1

我有一个脚本循环3个文件。 每个文件都将数据发布到api,并返回一个结果,在变量$ result中接受或拒绝。Post后返回结果PHP

在Accepted响应上,脚本停止运行并回显结果。 在拒绝它回显出被拒绝的回应并继续下一个文件。

问题是:假设所有3个文件都给出了拒绝响应,它回显了3个被拒绝的响应。

我如何才能回声出一个单一的通用回应,如果它没有得到一个接受的回应。

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拒绝响应” – 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

试试这个,这是专门为3拒绝响应

$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"; 
} 

你没有说,如果有什么会发生在其他比(1A:2R,2A:1R),所以我只是创造了它3拒绝