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

时间:2013-07-27 04:17:02

标签: 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)是玩家级别,第二列是玩家在移动到下一级别之前需要的经验值

我要做的是创建一个函数,如果我选择级别“140”并且玩家具有级别136 998831511 的玩家的经验那么它将检查玩家在文本文件中的级别和exp应该具有 1522864163 ,并且将玩家exp更新为级别140的exp和级别141的exp。

这是我创建的功能

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";
            }

    }
}

但我收到错误“变量$ NewExp未定义”并且它不会获得下一级别的exp。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案! 在代码中更改此行。它工作正常

$Lvs = explode(0x09, $FileLine);

它给你3个或2个数组(取决于你的文件);

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

如果它给你2个数组:

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