отправить массив данных (одинаковые значения ключа), используя php curl

Я отправляю список имен и писем.

Я пытаюсь создать с curl те же функции, что и в этой форме

<form method="post" action='http://url'> name: <input type="text" name="name" value='name1'> email:<input type="text" name="email" value='email1'> name: <input type="text" name="name" value='name2'> email: <input type="text" name="email" value='email2'> <input type="submit" value="Submit"> </form> 

Я хочу использовать один и тот же ключ, поэтому я могу использовать django

 names = request.POST.getlist('name') 

чтобы получить все имена в списке.

Теперь я пытаюсь сделать то же самое, что и в форме с php curl

 $ch = curl_init(); $curlConfig = array( CURLOPT_URL => "http://url", CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => array( 'name' => 'name1', 'email' => 'name1@email', 'name' => 'name2', 'email' => 'name2@email', ), ); curl_setopt_array($ch, $curlConfig); $result = curl_exec($ch); print $result; curl_close($ch); 

и он не работает, он получает только последние 2 значения. это потому, что массив ассоциативен, поэтому последние значения переопределяют предыдущие.

В PHP ключи массива должны быть уникальными. Второе «имя» перезаписывает данные в первом «имени», поэтому вам потребуется немного другая схема.

Возможно, вы сможете использовать что-то вроде этого. У вас есть способ сделать дамп данных в сценарии Django?

 CURLOPT_POSTFIELDS => array( array( 'name' => 'name1', 'email' => 'name1@email', ), array( 'name' => 'name2', 'email' => 'name2@email', ) ) 

То, что я, наконец, сделал, это использовать строку вместо асинхронного массива php

 $ch = curl_init(); $curlConfig = array( CURLOPT_URL => "http://url", CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => "name=name1&emailname1@email&name=name2&email=name2@email" ); curl_setopt_array($ch, $curlConfig); $result = curl_exec($ch); print $result; curl_close($ch);