2017-03-21 4 views
0

私はこのWebサービスで1つのWebサービスを作成しています。2つの配列結果が1つの配列に必要です。array_pushメソッドが動作しない

<?php 
$jsonData = file_get_contents("php://input"); 
$phpArray = json_decode($jsonData, true); 

include 'connection.php'; 

$pc_name  = $_POST["pc_name"]; 
$total_hours = $_POST["total_hours"]; 
$base_fare  = $_POST["base_fare"]; 
$start_date  = $_POST["start_date"]; 
$start_month = date("M", strtotime($start_date)); 
$end_date  = $_POST["end_date"]; 
$end_month  = date("M", strtotime($end_date)); 
$weekday_status = $_POST["weekday_status"]; 
$v_model  = $_POST["v_model"]; 
$day_status  = $_POST["day_status"]; 
$date   = date("m/d/Y"); 
//print_r("select * from tbl_promocode where promocode='$pc_name'"); die(); 
    $sql  = "select * from tbl_promocode where promocode='$pc_name'"; 
    $stmt  = sqlsrv_query($conn, $sql); 
    $checkrow = sqlsrv_has_rows($stmt); 
    if($checkrow>0) 
    { 
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) 
    { 
     $cat_type = $row['cat_type']; 
     $end_date = $row['end_date']; 
    } 
    if($date>$end_date) 
     { 
      $response["response"]="Offer is expired"; 
     } 
     else 
     { 
      if($cat_type==1) 
      { 
       $sql1  = "select * from tbl_promocode where cat_type='1' and promocode='$pc_name'"; 
       $stmt1  = sqlsrv_query($conn, $sql1); 
       while($row1 = sqlsrv_fetch_array($stmt1, SQLSRV_FETCH_ASSOC)) 
       { 
        $result = $row1; 
       } 
       $response["response"]="success"; 
       $response["result"]=$result;    
      } 
      else if($cat_type==2) 
      { 
       if($total_hours>=4) 
       { 
        $sql2  = "select * from tbl_promocode where cat_type='2' and promocode='$pc_name'"; 
        $stmt2  = sqlsrv_query($conn, $sql2); 
        while($row2 = sqlsrv_fetch_array($stmt2, SQLSRV_FETCH_ASSOC)) 
        { 
         $result2 = $row2; 
        } 
        $response["response"]="success"; 
        $response["result"]=$result2; 
       } 
            else 
       { 
        $response["response"]="Invalid Promocode"; 
       } 
      } 
      else if($cat_type==3) 
      { 
       if($total_hours>=48) 
       { 
        $sql3  = "select * from tbl_promocode where cat_type='3' and promocode='$pc_name'"; 
        $stmt3  = sqlsrv_query($conn, $sql3); 
        while($row3 = sqlsrv_fetch_array($stmt3, SQLSRV_FETCH_ASSOC)) 
        { 
         $result3 = $row3; 
        } 
        $response["response"]="success"; 
        $response["result"]=$result3; 
       } 
           else 
       { 
        $response["response"]="Invalid Promocode"; 
       } 
      } 
      else if($cat_type==4) 
      { 
       if($base_fare>=5000) 
       { 
        $sql4  = "select * from tbl_promocode where cat_type='4' and promocode='$pc_name'"; 
        $stmt4  = sqlsrv_query($conn, $sql4); 
        while($row4 = sqlsrv_fetch_array($stmt4, SQLSRV_FETCH_ASSOC)) 
        { 
         $result4 = $row4; 
        } 
        $response["response"]="success"; 
        $response["result"]=$result4; 
       } 
          else 
       { 
        $response["response"]="Invalid Promocode"; 
       } 
      } 
      else if($cat_type==5) 
      { 
        $sql5  = "select * from tbl_promocode where cat_type='5' and promocode='$pc_name'"; 
        $stmt5  = sqlsrv_query($conn, $sql5); 
        while($row5 = sqlsrv_fetch_array($stmt5, SQLSRV_FETCH_ASSOC)) 
        { 
         $result5 = $row5; 
        } 
        $amount  = 10/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result5; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==6) 
      { 
        $sql6  = "select * from tbl_promocode where cat_type='6' and promocode='$pc_name'"; 
        $stmt6  = sqlsrv_query($conn, $sql6); 
        while($row6 = sqlsrv_fetch_array($stmt6, SQLSRV_FETCH_ASSOC)) 
        { 
         $result6 = $row6; 
        } 
        $amount  = 20/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result6; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==7) 
      { 
        $sql7  = "select * from tbl_promocode where cat_type='7' and promocode='$pc_name'"; 
        $stmt7  = sqlsrv_query($conn, $sql7); 
        while($row7 = sqlsrv_fetch_array($stmt7, SQLSRV_FETCH_ASSOC)) 
        { 
         $result7 = $row7; 
        } 
        $amount  = 30/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result7; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==8) 
      { 
        $sql8  = "select * from tbl_promocode where cat_type='8' and promocode='$pc_name'"; 
        $stmt8  = sqlsrv_query($conn, $sql8); 
        while($row8 = sqlsrv_fetch_array($stmt8, SQLSRV_FETCH_ASSOC)) 
        { 
         $result8 = $row8; 
        } 
        $amount  = 50/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result8; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==9) 
      { 
        $sql9  = "select * from tbl_promocode where cat_type='9' and promocode='$pc_name'"; 
        $stmt9  = sqlsrv_query($conn, $sql9); 
        while($row9 = sqlsrv_fetch_array($stmt9, SQLSRV_FETCH_ASSOC)) 
        { 
         $result9 = $row9; 
        } 
        $amount  = 10/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result9; 
        $response1["cal_amount"]=$amount;     
        array_push($response,$response1); 
      } 
      else 
      { 
       $response["response"]="Invalid Promocode"; 
      } 
     } 
    } 
else 
    { 
     $response["response"]="Invalid Promocode"; 
    } 
die(json_encode($response)); 
?> 

my result is:- 

{ 
    "0": { 
    "cal_amount": 500 
    }, 
    "response": "success", 
    "result": { 
    "id": 6, 
    "promocode_name": "TRIP10", 
    "start_date": { 
     "date": "2017-03-20 00:00:00.000000", 
     "timezone_type": 3, 
     "timezone": "UTC" 
    }, 
    "end_date": { 
     "date": "2017-05-31 00:00:00.000000", 
     "timezone_type": 3, 
     "timezone": "UTC" 
    }, 
    "promocode": "TRIP10", 
    "amount": "empty", 
    "amount_type": "empty", 
    "status": "active", 
    "Cancel_Flag": 0, 
    "cat_type": 5, 
    "percentage": "10", 
    "v_model": "empty", 
    "off_month": "empty" 
    } 
} 

私のデータが正しいものではなく、問題であるこのWebサービスを使用して:私は1つのアレイ

私のコードの下で必要にしたい、この2つの配列があるので、一つの配列は、データベースと二番目の配列は、演算部のために来て通ってきます結果が0の印刷を開始するように設定されています。このゼロを削除するか、任意の文字列に変換します。だから私はこの問題を解決するために何をすべきか、配列に要素を追加するために使用されている)私はあなたが

array_push($response,$response1); 

array_pushため

$response = array_merge($response,$response1); 

(と交換する必要があると思うだれでもここ

+0

コードの壁を問題を示す最小限の例に減らしてください。ありがとう。 – arkascha

+1

私は言語の壁があると言うことができますが、あなたが得ているものと期待しているものの出力例を表示できますか?私はこの問題を理解できません。 – Shawn

答えて

0

私を助けてくださいあなたはそれに配列を追加します。 array_push()を使う場合は、配列のすべての要素をループし、array_push()を使って一つずつ配列の要素を一つずつ追加する必要があります。 そのため、代わりにarray_merge()を使用する方がよいでしょう。

関連する問題