【发布时间】:2019-02-01 16:12:28
【问题描述】:
我想从 $projSDE_1 获取员工姓名,该姓名由 emp ID 组成,用于函数 func_GetEmpName($empID) 下面 for 循环中的每一行。对于下面的代码,它应该显示 10 行 $projSDE_1's name 但问题是代码仅输出第一行。为什么其他 9 行无法显示?我已经被这个问题困扰了 1 周。如果我删除该功能,它将显示 10 行
.感谢所有帮助。
<?php
for($i=0; $i<db_rowcount();$i++){
//loop through every result set
$projID=db_get($i,0);
$projNo=db_get($i,1);
$projDesc=db_get($i,2);
$projSDE_1=db_get($i,8);//1st Services Development Engineer
$projSDE_1_name = func_GetEmpName($projSDE_1);//get name from function
}//endfor
function func_GetEmpName($empID) {
$sqlEmp="select EmpID,LastName2_c from empbasic WHERE EmpID= '".$empID."'";
db_select($sqlEmp);
$rowcount=db_rowcount();
if(db_rowcount()>0){
for($f=0;$f<count($empID);$f++){
$empID=db_get($f,0);
$empName=db_get($f,1);
}
}
return $empName;
} // function
?>
【问题讨论】:
-
请格式化代码部分,使其可读。
-
您在 for 循环中覆盖
$empName,因此您也只返回循环后的最后一个值。如果要从该函数中返回所有值,则需要将这些值放入数组中。 -
如何将 for 循环中的值存储到数组中,并从函数中返回所有值。需要帮助。
-
或者我应该使用 foreach 循环吗?