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