我需要检查两个字符串(数字)是否相同。但是,如果其中一个字符串的前导零,那么所有的赌注都会关闭 - 它表示它们是相同的:
$hospitalno1 = "64583";
$hospitalno2 = "064583";
if ($hospitalno1 <> $hospitalno2){
echo "Different";
}
如何将这两个变量比作字符串而不是数字?
答案 0 :(得分:3)
只需使用:
<?php
$hospitalno1 = "64583";
$hospitalno2 = "064583";
if ($hospitalno1 !== $hospitalno2){
echo "Different";
}
else
{
echo "same" ;
}
?>
!==
将执行严格的数据类型+值检查,并在有任何不同的情况下发出警报。
答案 1 :(得分:0)
将它们投放到int
:
$hospitalno1 = "64583";
$hospitalno2 = "064583";
if ((int)$hospitalno1 != (int)$hospitalno2){
echo "Different";
}
请注意“此字符串”将变为0
,因此请在转换前添加is_int()
。
除了<>
之外,您应该使用!=
,尽管前者可以在PHP中使用,后者是跨语言标准。
答案 2 :(得分:0)
如果我正确理解你的问题,你不希望字符串被打字。
<> type juggles to match types before comparison,
causing your strings to be ints
!== is a comparitor that doesn't type juggle before comparison
以下是比较运算符的概述: http://php.net/manual/en/language.operators.comparison.php
答案 3 :(得分:0)
你只需要使用不会忽略类型的!==
,否则将忽略类型
$hospitalno1 = "64583";
$hospitalno2 = "064583";
if ($hospitalno1 !== $hospitalno2){
echo "Diffrent";
}
答案 4 :(得分:0)
你非常接近。
只需将它们与另一个字符串a
,-
预先连接起来,任何事都可以做到
$hospitalno1 = '64583';
$hospitalno1 = 'a-'. $hospitalno1;
$hospitalno2 = '064583';
$hospitalno2 = 'a-'. $hospitalno2;
if ($hospitalno1 <> $hospitalno2){
echo "Different";
}
答案 5 :(得分:0)
请试试这个
def write_extension(self):
extension = []
dtd = ""
if extension == []:
extension = extension.extend(self.edids[:])
print(extension)
我的PHP代码链接&gt;&gt; Code