i want to send data array using curl.
$email = $_SESSION['useremail']; $exam_code = $this->input->post('exam_code'); $bank_question = ['3343', '3345', '3333']; $student_answer = ['B', 'A', 'C']; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://url', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => '{ "email_student" : ' . $email . ', "exam_code" : ' . $exam_code . ', "bank_question_id" : ' . $bank_question . ', "student_answer" : ' . $student_answer . ' }', CURLOPT_HTTPHEADER => array( 'x-api-key: ............', 'Cookie: ci_session=.......' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
but while i send data array $bank_question and $students_answer like this, i its always error Array to string conversion . what should i do to send data array?
Advertisement
Answer
You could JSON encode your data like this:
$aData = [ 'email_student' => $email, 'exam_code' => $exam_code, 'bank_question_id' => $bank_question, 'student_answer' => $student_answer, ]; CURLOPT_POSTFIELDS => json_encode($aData);