我有一个问题。我正在废弃一个txt文件并提取一个ID。问题是数据不一致,我必须评估数据。
以下是一些代码:
$a = "34";
$b = " 45";
$c = "ddd556z";
if ( ) {
echo "INTEGER";
} else{
echo "STRING";
}
如果值$ a,$ b或$ c是整数,我需要测试。这样做的最佳方式是什么?我已经测试过“修剪”并使用“is_int”但是没有按预期工作。
有人可以给我一些线索吗?
答案 0 :(得分:8)
即使您的“int”是字符串$a = "number";
is_numeric()
或
preg_match( '/^-?[0-9]+$/' , $var ) // negative number © Piskvor
或
intval($var) == $var
或(与上次相同)
(int) $var == $var
答案 1 :(得分:2)
http://www.php.net/manual/en/function.ctype-digit.php
<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
if (ctype_digit($testcase)) {
echo "The string $testcase consists of all digits.\n";
} else {
echo "The string $testcase does not consist of all digits.\n";
}
}
// will output
//The string 1820.20 does not consist of all digits.
//The string 10002 consists of all digits.
//The string wsl!12 does not consist of all digits.
答案 2 :(得分:1)
<?
$a = 34;
if (is_int($a)) {
echo "is integer";
} else {
echo "is not an integer";
}
?>
$a="34";
不会验证为int;)