比较运算符似乎不起作用

时间:2013-04-23 16:02:15

标签: php

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

$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

3 个答案:

答案 0 :(得分:1)

我认为你的变量是这样的

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

在比较之前先做intval

if(intval($hme)>intval($hce))

答案 1 :(得分:1)

将字符串转换为整数:

$hme = (int)$data->hes->he->maxen;       
$hce = (int)$data->hes->he->curen;
$hac = (int)$data->hes->he->lastac;

答案 2 :(得分:0)

我认为你把它们当作字符串。我认为你需要将它们转换为整数。

这样做的简单功能:

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

return val;
}