首先,由于我的变量字符串的定义方式,我无法在线找到这个答案。通常我应该能够向变量添加0,或者使用(int),但它不起作用。
<?php
$casestringid = "'118'";
$caseid = $casestringid + 0;
echo $casestringid;
echo $caseid;
?>
输出:'118'0
正如您所看到的,由于我的第一个变量的声明方式,将字符串转换为整数的标准方法不起作用。我的$casestringid
就是这样写的,因为它从另一个页面请求一个号码。而不是试图改变如何格式化,我认为它将更容易帮助如何将看起来像这样的字符串转换为整数。我希望caseid
的输出为118.感谢您提前获得任何帮助。
答案 0 :(得分:3)
问题是,就PHP解析器而言,'118'
不是一个整数,它是一个字符串。当然,它看起来像是一个整数,但它有斜杠('
),使其“不可转换”。
使用str_replace
:
intval(str_replace("'", '', $casestringid));
答案 1 :(得分:1)
尝试intval ($casestringid) + 0
。
修改强>
那怎么样,那么:
filter_var ($casestringid, FILTER_SANITIZE_NUMBER_INT);
答案 2 :(得分:1)
我认为你没有其他机会这样:
intval(str_replace("'",'',$casestringid));
答案 3 :(得分:1)
替换'':
intval(str_replace("'",'',$casestringid));
答案 4 :(得分:0)
您必须删除单引号并使用intval().
<?php
$casestringid = "'118'";
$parseid = str_replace("'", "", $casestringid);
$caseid = intval($parseid);
echo $casestringid;
echo $caseid;
?>
答案 5 :(得分:0)
$casestringid = "'118'";
$int = str_replace("'", "", $casestringid);
echo intval($int);
答案 6 :(得分:0)
如果它只是您要查找的整数,则可以使用。 它将删除任何非数字字符,然后将其作为int
返回function parseInt( $s ){
return (int)(preg_replace( '~\D+~' , '' , $s ));
}