我遇到了php的问题我只是不明白,
这是我的代码
$pieces = explode("|", $result);
if (count($pieces) == 3){
$size = $pieces[2];
echo "here";
if($bw>=$pieces[2]){
$manfi = $bw - $pieces[2];
echo "<br>$manfi<br>";
echo $size;
}
else{
echo "is not big!!!";echo $size."aaa". $bw;
}
这里是输出
我只是弄明白了,这个数字1000000000000000如何小于183773480?这里不大!!! 183773480 aaa 1000000000000000
答案 0 :(得分:3)
问题是数字1000000000000000
是数据类型字符串。如果你将它与一个整数进行比较,它将被转换为一个整数。由于1000000000000000
溢出了PHP使用的32位整数,因此它将变为负值。
答案 1 :(得分:1)
尝试:
$bw = intval($bw);
$pieces = array_map(intval, explode("|", $result));
if (count($pieces) == 3){
$size = $pieces[2];
echo "here";
if($bw>=$pieces[2]){
$manfi = $bw - $pieces[2];
echo "<br>$manfi<br>";
echo $size;
}else{
echo "is not big!!!";echo $size."aaa". $bw;
}
}
我更改了$ pieces,以便它包含一个整数数组,我还确保$ bw包含一个整数