2
我希望有人可以给我一些关于如何改进此功能的输入。其目的是评估表单输入是否为有效整数,如果不是,则默认返回0,如果第二个参数= true,则返回-1。代码检查 - 验证具有可选返回值的整数的函数
编辑:这是我使用的功能的更新版本。看起来最具挑战性的两个部分是确保当空字符串($ neg = true)的值为-1时,空字符串不会评估为0,并评估具有左填充的零作为整数而不是八进制的输入。
function clean_integer($value, $neg=false)
{
if (!is_numeric($value)) {
if (!$neg) {
return 0;
else {
return -1;
}
}
$value = ltrim(trim($value), '0');
if (!$neg)
{
if ($value !== true && ((string)(int) $value) === ((string) $value)) {
return (int) $value;
}
else {
return 0;
}
}
else
{
if (!is_numeric($value)) {
return 0;
}
if ($value !== true && ((string)(int) $value) === ((string) $value)) {
return (int) $value;
}
else {
return -1;
}
}
}
我一直盯着这个太长时间,我深信我正在让它变得非常复杂。