2012-06-11 40 views
1

是否有可能使用cURL在PHP中發送多關聯數組到頁面?PHP cURL是否可以傳遞一個多關聯數組?

我能夠傳遞一個數組,但會發生以下情況:

// Open Connection 
    $ch = curl_init(); 

    // Set the URL 
    curl_setopt($ch, CURLOPT_URL, $this->config['submission']['eyerys']); 

    // Set the number of fields being sent: 
    curl_setopt($ch,CURLOPT_POST,count($this->call['info'])); 

    // The string to send: 
    curl_setopt($ch,CURLOPT_POSTFIELDS,$string); 

    // Return transfer: 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // SSL verification: 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

    // Execute the post: 
    $result = curl_exec($ch); 

    $this->pre($result); 

    // Close connection: 
    $curl_close($ch); 

我得到以下輸出:

Array 
(
     [info] => Array 
     [answers] => Array 
     [errors] => Array 
) 

回答

1

不,因爲捲曲會不知道你怎麼想編碼。並非所有的服務器端語言/框架都使用相同的方式。我認爲PHP是唯一的語言,用戶可以通過簡單地使用包含[]的密鑰發送數據來創建數組。例如。在python世界中,只需發送相同的值兩次,然後使用不同的函數(如.getlist('key') - 取決於框架)來訪問數組,而不是僅訪問一個值。

如果你能控制遠程腳本,可以考慮使用標準化的東西,如JSON。發送一個純JSON正文或者一個包含JSON的單個帶有正確編碼的POST值,而不是發送一個formencoded POST字符串。

如果你不這樣做,你很可能不得不自己編碼POST數據。

相關問題