Php 比较两个变量会返回错误的结果
为什么总是返回Php 比较两个变量会返回错误的结果,php,string,Php,String,为什么总是返回true: $s = '334rr'; $i = (int)$s; if ($i == $s) { echo true; } else { echo false; } 如果我回显$I,它会给出334的值,这与$s不同,后者是334rr 使用==将字符串与整数进行比较时,字符串将尝试大小写为整数。使用==将字符串与整数进行比较时,字符串将尝试大小写为整数。来源: 如果将数字与字符串进行比较,或者比较涉及数字字符串,则会将每个字符串转换为数字,并以数字形式执行比较
true
:
$s = '334rr';
$i = (int)$s;
if ($i == $s) {
echo true;
} else {
echo false;
}
如果我回显
$I
,它会给出334
的值,这与$s
不同,后者是334rr
使用==
将字符串与整数进行比较时,字符串将尝试大小写为整数。使用==
将字符串与整数进行比较时,字符串将尝试大小写为整数。来源:
如果将数字与字符串进行比较,或者比较涉及数字字符串,则会将每个字符串转换为数字,并以数字形式执行比较
因此:($i==$s)
与您给定的值的($i==(int)$s)
相同
使用==
避免键入杂耍。来自:
如果将数字与字符串进行比较,或者比较涉及数字字符串,则会将每个字符串转换为数字,并以数字形式执行比较
因此:($i==$s)
与您给定的值的($i==(int)$s)
相同
使用
==
避免类型转换。不建议将字符串与int进行比较。您应该改为使用==
,它将验证相同的数据类型以及相同的值。不建议将字符串与int进行比较。您应该改为使用==
,它将验证相同的数据类型以及相同的值。当与另一个整数($i)进行比较时,PHP将$s字符串转换为整数。
它基本上做到了这一点(我不知道它在内部做什么,但归根结底是这样的):
这使得语句为true当与另一个整数($i)进行比较时,PHP将$s字符串转换为整数。 它基本上做到了这一点(我不知道它在内部做什么,但归根结底是这样的): 这使得这句话是正确的试试这个
$s = '334rr';
$i = intval($s);
if ($i == $s) {
echo true;
} else {
echo false;
}
试试这个
$s = '334rr';
$i = intval($s);
if ($i == $s) {
echo true;
} else {
echo false;
}