Php 分解选项卡并在下一行中获取选项卡

Php 分解选项卡并在下一行中获取选项卡,php,Php,基本上,我有一个文本文档,包含以下内容 136 998831511 137 1109901576 138 1233322632 139 1370468109 140 1522864163 141 1692206658 142 1880380039 143 2089478300 144 2321828287 145 2580015593 146 2866913327 147 3185714089 148 3539965496 第一列(#136-148)是玩家等级,第二列是玩家在进入下一个等级之前

基本上,我有一个文本文档,包含以下内容

136 998831511
137 1109901576
138 1233322632
139 1370468109
140 1522864163
141 1692206658
142 1880380039
143 2089478300
144 2321828287
145 2580015593
146 2866913327
147 3185714089
148 3539965496
第一列(#136-148)是玩家等级,第二列是玩家在进入下一个等级之前需要的经验点

我想做的是创建一个函数,例如,如果我选择级别“140”并且玩家拥有136级玩家的经验998831511,然后它将检查文本文件中的玩家等级和它应该拥有的经验值1522864163,并更新玩家经验值,使其介于140级经验值和141级经验值之间

这是我创建的函数

function ExpIsBugged($CurrentLv,$CurrentExp)
{
    $File = @file('charlv.txt');


    foreach($File as $key => $FileLine)
    {
        $Lvs = explode("\t", $FileLine);


        $NewLv = $key + 1;

            if($Lvs[0] == $NewLv)
                $NewExp = $Lvs[1];

            if($Lvs[0] == $CurrentLv)
            {
                if($CurrentExp > $Lvs[1] && $CurrentExp < $NewExp )
                {

                    return "Your Exp Is Bugged";
                }
                else
                    return "Your Exp Is Not Bugged";
            }

    }
}
函数expisbug($CurrentLv,$CurrentExp)
{
$File=@File('charlv.txt');
foreach($key=>$FileLine形式的文件)
{
$Lvs=explode(“\t”,$FileLine);
$NewLv=$key+1;
如果($Lvs[0]=$NewLv)
$NewExp=$Lvs[1];
如果($Lvs[0]=$CurrentLv)
{
如果($CurrentExp>$Lvs[1]&&$CurrentExp<$NewExp)
{
返回“你的经验被窃听”;
}
其他的
返回“你的经验没有被窃听”;
}
}
}
但是我得到的错误是“变量$NewExp未定义”,它不会得到下一级的exp

有什么帮助吗?

我找到了解决办法! 在代码中更改这一行。它很好用

$Lvs = explode(0x09, $FileLine);
它给你3或2个数组(取决于你的文件)

如果它给你2个数组:

$Lvs[0]= 136 //(lvl);
$Lvs[1] =998831511// (exp)

if($Lvs[0]==$NewLv)
您遗漏了一个等号。
$NewExp
仅在
if
中设置,该
缺少一个
=
-
if($Lvs[0]=$NewLv)
。我修复了它,但仍然没有定义变量。您能更好地解释一下您的函数试图检查什么吗?你给我的解释我不清楚。基本上,一些玩家的经验被窃听了。它们会显示一个小于它们应该具有的exp值的值,从而出现错误。例如,一个有缺陷的字符级别136应该有998831511经验值,但是他们的经验值应该小于这个值。我要做的是检查他们的EXP是否低于他们应该拥有的级别,然后检查EXP的级别,以及下一级的EXP,并更新字符EXP到它们中间。
$Lvs[0]= 136 //(lvl);
$Lvs[1] =998831511// (exp)