我想知道在返回某个值之前如何重复一个函数。我认为这样的事情会起作用,但事实并非如此。
list($db_Total) = getData($db_queryResult); // a random number from a mysqli query result.
function getData($db_Total){
if($db_Total){
while($arr = mysqli_fetch_array){
$db_Total = $arr['prize']; // set db_Total to database query amount
}
}
}
if($db_Total>=300){
echo "is equal or higher than 300";
while($db_Total >= 300){ // loop until you get a smaller result
list($db_Total) = getData($db_queryResult);
}
}elseif($db_Total <= 300){
echo "is lower than 300";
}
我想最简单的说法是,我想只运行一次函数,如果该函数返回的值高于我不想要的值,我想再次运行该函数直到它完成。 ..那可能吗?
感谢您的帮助。
答案 0 :(得分:0)
while (($db_Total = getData($db_queryResult)) >= 300) {
echo "is equal or higher than 300";
}
echo "is lower than 300";
答案 1 :(得分:0)
以下是该代码中的一些错误:
$arr = mysqli_fetch_array
应为$arr = mysqli_fetch_array($db_queryResult)
mysqli_fetch_array
它不会改变结果,因为你已经运行了一次实际的SQL getData
函数时只查看多行结果的一行 - 在这种情况下你不希望函数内部的while
循环,它将使用数据库结果中的所有行getData
函数永远不会返回任何内容(没有return
语句)getData
函数似乎被赋予了一个数据库结果集,但是调用它$db_Total
除了检查它不是假y(if($db_Total)
)list($foo) = bar()
返回多个单独项目的数组时,使用bar()
;不确定为什么你认为你需要它elseif($db_Total <= 300){
应为else