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 as $qid)" 时发生错误,然后我无法进入 foreach 语句并执行执行。如何将数组传递给函数?

4

2 回答 2

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
}
于 2013-10-04T09:28:04.760 回答
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
    //}
}
于 2013-10-04T09:28:12.363 回答