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


Passing array from a function to another function

我有一个数组,$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 语句并执行。如何将数组传递给函数?

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
}
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
    //}
}