将数组从函数传递到另一个函数

时间:2013-10-04 09:23:57

标签: php

我有一个数组,$ 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 as $ qid)”时出现错误,那么我不能 进入foreach语句并执行。 如何将数组传递给函数?

2 个答案:

答案 0 :(得分: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 :(得分: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
    //}
}