PHP将变量字符串转换为int

时间:2013-08-06 18:35:08

标签: php

首先,由于我的变量字符串的定义方式,我无法在线找到这个答案。通常我应该能够向变量添加0,或者使用(int),但它不起作用。

<?php

$casestringid = "'118'";
$caseid = $casestringid + 0;

echo $casestringid;

echo $caseid;

?>

输出:'118'0

正如您所看到的,由于我的第一个变量的声明方式,将字符串转换为整数的标准方法不起作用。我的$casestringid就是这样写的,因为它从另一个页面请求一个号码。而不是试图改变如何格式化,我认为它将更容易帮助如何将看起来像这样的字符串转换为整数。我希望caseid的输出为118.感谢您提前获得任何帮助。

7 个答案:

答案 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 ));
}