0

我正在尝试比较两个值,但是当我这样做时,它似乎不起作用。我知道这些值是什么,所以它应该是真实的。更糟糕的是,如果我取出其中任何一个变量并将数字放入其中,它就可以工作。

$data = simplexml_load_file('xml/heroes/hero.xml')
    or die("Error: Cannot create object");
$hme = $data->hes->he->maxen;       
$hce = $data->hes->he->curen;
$hac = $data->hes->he->lastac;
echo $hce . ' should not be greater than ' . $hme;
if($hce > $hme){
echo 'should be working';
}

输出:

773 不应大于 20

4

3 回答 3

1

我认为你的变量是这样的

$hce = "773";
$hme = "20";

在比较它们之前做 intval

if(intval($hme)>intval($hce))
于 2013-04-23T16:06:32.640 回答
1

将您的字符串转换为整数:

$hme = (int)$data->hes->he->maxen;       
$hce = (int)$data->hes->he->curen;
$hac = (int)$data->hes->he->lastac;
于 2013-04-23T16:07:21.043 回答
0

我认为您将它们视为字符串。我认为您需要将它们转换为整数。

执行此操作的简单功能:

int atoi(char *s)
{
int val = 0;
while (*s)
{
    val *= 10;
    val += (*s) - '0';
    s++;
}

return val;
}
于 2013-04-23T16:06:28.237 回答