Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未执行PHP方法_Php - Fatal编程技术网

未执行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
字符串从未打印出来,因此这不是第二次了。我想提供帮助,但你需要在问题中澄清,才能得到清楚的答案。