Nedeniyle HTTP protokolü ve curl_setopt işlevi çalışır şekilde doğası, $ anarray bir dizi olarak doğrudan geçti olamaz.
Aşağıdaki deyim:
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
POST parametreleri bir dizi alır ve bunların her biri için bir dize isim ve STRING değer olmalıdır. Bunun yerine bir dizi değeri geçiyoruz, bu yüzden PHP işlemcisi daha önce belirtilen bildirim verilmesi doğurur yerleşik algoritma bazı topal, kullanarak bir dizeye dönüştürmek zorunda kalır ("in dize dönüştürme Array ..").
Yani, düzgün bir diğer tarafa bu diziyi ($ anarray) geçmek için, (a dizeye) kendi kodlama kendinizi, hem de diğer tarafı dizeden (kendi çözme dikkat çekmek için var dikkatli olmalısınız .)
Böyle durumlarda benim yaklaşım JSON. Hemen hemen tüm durumlarda, yeterince uygundur. Yapmanız gereken tek şey aşağıdaki tekniği uygulayın:
$data=array(
'anarray'=>json_encode($anarray),
'var1'=>$var1,
'var2'=>$var2
);
Ve sonra, bağlantının diğer tarafta orijinal dizinin şu şekilde almak istiyorum:
$anarray=json_decode($_POST['anarray'],true); // true indicates for associative array rather than an object