未执行PHP方法
为什么没有运行函数未执行PHP方法,php,Php,为什么没有运行函数level()?我在PHP代码中的其他地方运行start,因此这与此无关。我写了$LEVEL=LEVEL($skillxp)但是“cho'efniewfb3idn3uo';从未打印出来 这是怎么回事 function level($xp) { echo 'efniewfb3idn3uo'; for ($lvl = 1; $lvl < 99; $lvl++) { if ($xp < experience($lvl)) {
level()
?我在PHP代码中的其他地方运行start,因此这与此无关。我写了$LEVEL=LEVEL($skillxp)
但是“cho'efniewfb3idn3uo';
从未打印出来
这是怎么回事
function level($xp) {
echo 'efniewfb3idn3uo';
for ($lvl = 1; $lvl < 99; $lvl++) {
if ($xp < experience($lvl)) {
$lvl -= 1;
break;
}
}
return $lvl;
}
function experience($lvl) {
$xp = 0;
for($x = 1; $x < $lvl; $x++) {
$xp += floor($x + 300 * pow(2, ($x / 7)));
}
return floor($xp / 4);
}
function start() {
for ($i = 0; $i < $num_rows; $i++) {
$res = $con->query("SELECT * FROM hiscores LIMIT $i, 1");
$xp = $res->fetch_assoc();
$skillxp = $xp['0'];
$LEVEL = level($skillxp);
echo 'efniewfb3idn3uo';
//return $LEVEL = level($skillxp);
}
}
功能级别($xp){
回声“efniewb3idn3uo”;
对于($lvl=1;$lvl<99;$lvl++){
如果($xp<经验($lvl)){
$L-=1;
打破
}
}
返回$lvl;
}
功能体验($lvl){
$xp=0;
对于($x=1;$x<$lvl;$x++){
$xp+=底价($x+300*pow(2,($x/7));
}
返回楼层(xp/4美元);
}
函数start(){
对于($i=0;$i<$num_行;$i++){
$res=$con->query(“从核心限制$i中选择*1”);
$xp=$res->fetch_assoc();
$skillxp=$xp['0'];
$LEVEL=级别($skillxp);
回声“efniewb3idn3uo”;
//返回$LEVEL=LEVEL($skillxp);
}
}
您没有在for
之前声明$num_rows
,因此您的for
循环永远不会运行。您需要在函数开始时设置它或将其作为参数传递
为了清楚起见,您的想法是正确的,使用echo
进行测试。但是,当您看到这样的问题时,您也希望echo
实际使用相关变量
即使您在完整代码中发布了链接,您也在函数范围之外定义了$num_rows
。您需要使用global
从函数内部调用$num_rows
,但通常不建议这样做,除非您确定$num_rows
总是相同的。即使如此,为什么不使用just在函数中设置它或一致地传递它
有关更多信息,请参见以下内容:没有调用任何方法?为什么要执行?以及
start()
函数中$num\u行的定义在哪里?启用错误报告
并注意查找循环从未运行的原因。start()在哪里被调用?另外,函数start()中缺少一个}
。很抱歉遗漏了代码。这是完整的代码。我确实声明了$num_行。这里的代码:顺便说一句,启动函数运行,for循环也运行。我已经使用echo对其进行了测试。我编辑了我的答案。是的……但是启动函数中的for循环正在运行,我用echo对其进行了第二次测试。我的问题是:WHY不是水平运行吗?如果我看起来很生气,我很抱歉,只是,在我问的关于PHP的许多问题中,没有人给我一个直接的答案。我已经在这个程序上连续花了3天,这只是又一个障碍,我真的需要一次直截了当、直截了当的回答。拜托,伙计。我怎么能你知道有什么不同吗?你使用的是同一个字符串进行测试。另外,你的问题指出,echo
字符串从未打印出来,因此这不是第二次了。我想提供帮助,但你需要在问题中澄清,才能得到清楚的答案。