2013-10-04 134 views
0

我有一個數組$ idarray。從一個函數傳遞數組到另一個函數

array(3) { 
    [0]=> 
    string(4) "102" 
    [1]=> 
    string(4) "211" 
    [2]=> 
    string(4) "421" 
} 

調用另一個函數傳遞數組元素。

foreach($idarray as $id){ 
$r = get_rate($id); 
    foreach($r as $result=> $row){ 
    } 
} 

另一項功能,當我數組傳遞給函數

function get_rate($qid){ 
foreach($qids as $qid){ 
execute sql here 
} 

錯誤發生「的foreach($ QIDS爲$ QID)」,那麼我不能 進入foreach語句,做執行。 如何將數組傳遞給函數?

+0

'$ R = get_rate($ ID);'這裏要傳遞一個數組元素不是一個數組! –

+0

我現在明白了!謝謝! – user2210819

回答

1
foreach($idarray as $id){ 
    $r = get_rate($id); 
    ... 

傳遞一個字符串,而不是一個數組。正如你所看到的 - 你的數組包含字符串,而不是數組。它不是一個多維數組。使用字符串,因爲它是一個數組將產生錯誤。因此:

function get_rate($qid){ 
    foreach($qids as $qid){ 
    execute sql here 
    } 
} 

應該是

function get_rate($qid){ 
    execute sql here, you already have a single id, $qid 
} 
1
foreach($idarray as $id){ 
$r = get_rate($id);//here $id is an array element not an array 
    foreach($r as $result=> $row){ 
    } 
} 

另一個功能

function get_rate($qid){ 
     //here $qid is a single element like 102,211,so on..... 
//no need foreach loop here,just execute your sql and return your result 
    //foreach($qids as $qid){ 
    execute sql here 
    //} 
} 
+0

在這種情況下它可以一次get_rate,另外兩個怎麼樣?如何執行? – user2210819

+0

請檢查您的代碼,我測試它工作正常。 –

+0

如果您運行此代碼: $ idarray = array(101,102,103,104); foreach($ idarray as $ id){ $ r = get_rate($ id); } function get_rate($ qid){ echo'Id:'。$ qid。','; } 您輸出的將如下所示:Id:101,Id:102,Id:103,Id:104, –

相關問題