2013-10-04 133 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, –

相关问题