如何在curl中传递嵌套数组

时间:2016-09-22 09:00:10

标签: php arrays json curl

我想在curl中传递嵌套数组。当我尝试这是我得到的错误消息

  

“(!)解析错误:语法错误,意外'=>' (T_DOUBLE_ARROW)第39行“

itmean“=>”这种语法错误

我试着用括号它也没用。我怎么能通过这个数组?

    $baseurl = 'http://202.124.173.187/api/v1/payConfirm';    
    $rawPOSTdata = array


       (
         "deviceCode"=>"",
        "applicationId"=>"",

  "patient",(



                "member"=>"",
                "needSMS"=>"true",
                "nsr"=>"",
                "foreign"=>"",
                "teleNo"=>"0777136419",
                "title"=>"mrs",
                "patientName"=>"sufra",
                "nid"=>"887111596v",

        )
     "sessionDetails", 
                (
                "hosId"=>"H138",
                "docId"=>"D3648",
                "theDay"=>"Monday",
                "startTime"=>"13:00",
                "theDate"=>"03-10-2016",

)



        "payment", 

                    (
                        "paymentMode"=>"EPG",
                        "bankCode"=>"",
                        "branchCaode"=>"M000444",
                        "paymentChannel"=>"WEB_PO",
                        "channelFrom"=>"W",
                    )

                );

$curl = curl_init($baseurl);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-type: multipart/form-data',"Authorization: Bearer $atoken")); 
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($rawPOSTdata));

$response = curl_exec($curl);
curl_close($curl);

 if( $response )
     {
        if ( isset($result->error) )die( $result->error_message );
        /* Convert json data to array */

        $arr=json_decode( $response,true);

    echo '<pre>';echo print_r ($arr); echo '</pre>';

1 个答案:

答案 0 :(得分:0)

使用此数组,嵌套数组应该再次写为array(),如下所示

$rawPOSTdata = array(
  "deviceCode"=>"",
  "applicationId"=>"",
  "patient" => array(
     "member"=>"",
     "needSMS"=>"true",
     "nsr"=>"",
     "foreign"=>"",
     "teleNo"=>"0777136419",
     "title"=>"mrs",
     "patientName"=>"sufra",
     "nid"=>"887111596v",
  ),
  "sessionDetails" => array(
     "hosId"=>"H138",
     "docId"=>"D3648",
     "theDay"=>"Monday",
     "startTime"=>"13:00",
     "theDate"=>"03-10-2016",
  ),
  "payment" => array(
     "paymentMode"=>"EPG",
     "bankCode"=>"",
     "branchCaode"=>"M000444",
     "paymentChannel"=>"WEB_PO",
     "channelFrom"=>"W",
  ),
);

有关数组的更多信息 - http://php.net/manual/en/language.types.array.php

相关问题