2011-11-07 205 views
1

我有以下代碼:將PHP數組傳遞給函數?

$params = array(
    'api_user' => $user, 
    'api_key' => $pass, 
    'to'  => '[email protected]', 
    'subject' => 'testing from curl', 
    'html'  => 'testing body', 
    'text'  => 'testing body', 
    'from'  => '[email protected]' 
); 

/* Put the below into a function */ 
$request = 'api url goes here'; 
$session = curl_init($request); 
curl_setopt ($session, CURLOPT_POST, true); 
curl_setopt ($session, CURLOPT_POSTFIELDS, $params); 
curl_setopt($session, CURLOPT_HEADER, false); 
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($session); 
curl_close($session); 
print_r($response); 
/* Put the above into a function */ 

基本上我想提出的意見之間的上述代碼放到一個函數,這樣我可以把params,然後執行以下操作:

sendthat($params); 

這只是簡單地清理我的頁面,並通過函數來​​獲取curl請求。

如何將數組傳遞給函數?

+4

就像你傳遞任何其他參數/​​值。 –

+0

UH?那麼,就像傳遞一個變量一樣... –

+2

你的代碼_already_將一個數組傳遞給一個函數(第二個'curl_setopt'調用)。 – Mat

回答

5
function whatever ($params) { 

    $request = 'api url goes here'; 
    $session = curl_init($request); 
    curl_setopt ($session, CURLOPT_POST, true); 
    curl_setopt ($session, CURLOPT_POSTFIELDS, $params); 
    curl_setopt($session, CURLOPT_HEADER, false); 
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
    $response = curl_exec($session); 
    curl_close($session); 
    print_r($response); 
} 

$params = array(
    'api_user' => $user, 
    'api_key' => $pass, 
    'to'  => '[email protected]', 
    'subject' => 'testing from curl', 
    'html'  => 'testing body', 
    'text'  => 'testing body', 
    'from'  => '[email protected]' 
); 



whatever($params); 

分配給變量的數組與賦予變量的任何其他類型的值沒有區別。

+3

謝謝,唯一不諷刺的回覆。 – Latox

1
function_name($params); 

和功能

extract($params); 

(做到這一點,只有當你確定你知道你在做什麼)