答案 1
在 PHP 中没有直接等效项,因为 PHP 没有数据类型。 如果无法解析值,将生成。pareseInt()
NaN
parseInt()
NaN
此外,还具有基数参数,这是PHP选项中没有一个提供给您的。parseInt()
但话虽如此,如果您只想将字符串转换为整数,那么有几个选项:
$int = (int)$string;
$int = intval($string);
$int = settype($string,'integer');
这三者都将以大致相同的方式工作。可能有一些边缘情况与其他两种情况不同,但通常,它们会将字符串转换为int。在没有 的情况下,如果字符串是非数字且无法解析,它们都输出(零)。但对于大多数DB卫生目的来说,这应该足够了。intval()
NaN
0
如果您真的想要一个 on 错误,则最接近的方法是 。你可以得到这个使用:NaN
null
filter_var()
$value = filter_var(FALSE, FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
如果您只想检查字符串是否为数字,则该函数可以执行以下操作:is_numeric()
$bool = is_numeric($string);
但是,它对小数和科学记数法返回 true,因此对于大多数情况可能并不完美。更好的选择是,如果字符串仅由数字组成,则返回 true:ctype_digit()
$bool = ctype_digit($string);
如果非e适合,则始终存在正则表达式选项,使用or,但这些对于这种情况绝对是过度的。preg_match()
preg_replace()
答案 2
您可以使用正则表达式,如下所示
$int = (int) preg_replace('/\D/', '', $strNonNumeric);
或
$int = (int) preg_replace('/[^0-9]/', '', $strNonNumeric);
推荐
-
相当于Java中PHP的crypt函数 我正在将我的PHP代码迁移到Google App Engine - Java。因此,我需要一个相当于Java中PHP的crypt函数,因为我已将使用crypt的注册用户的所有密码存储在我的数据库中。 编辑1:这是我用于加密密码的php
-
需要有关如何从接受语言请求标头获取首选语言的示例 我需要一个代码示例或库来解析标头并返回我的首选语言。 指出: “接受语言请求标头”字段类似于“接受”,但限制首选作为请求响应的自然语言集。语言标记在第 3.10 节中定义。
-
无法在 Java 和 PHP 之间交换使用 AES-256 加密的数据 我的问题是:我在Java中加密的东西,我可以在Java中完全解密,但PHP不能解密。我用加密的内容可以使用 解密,但不能在 Java 中解密。 我想从Java应用程序发送和接收加密数据到PHP页面,所以我
-
-
Quercus是Java环境中PHP的可行替代品吗? 对于任何偶然发现这个问题的人,他们不知道是什么 - 它是用Java完成的PHP的实现。 对于我目前正在从事的项目,我们通过cgi在servlet上提供php页面(我知道它很笨拙,但这是支持遗留代码的要求
标签