我可以摆脱这个。正常语法似乎可以工作,否则替代语法似乎无法按预期工作。
<?php
$num = "abcdefghi";
function checkNum($n) {
if(!is_numeric($n))
{
return "not numeric";
} else
{
if($n<0)
{
return "less than zero";
} else
{
return "greater then or equal to zero";
}
}
}
echo checkNum($num); # echoes "not numeric";
function checkNum2($n)
{
$r = !is_numeric($n) ? "not numeric" : $n<0 ? "less than zero" : "greater then or equal to zero";
return $r;
}
echo checkNum2($num); # echoes "less than zero"
?>
那么问题出在哪里呢?
提前谢谢。
使用这个,您只是在函数中错过了()
。
function checkNum2($n)
{
$r = !is_numeric($n) ? "not numeric" : ($n<0 ? "less than zero" : "greater then or equal to zero");
return $r;
}
echo checkNum2($num); # echoes "not numeric";
工作示例http://codepad.viper-7.com/DVvQaC
试试这个:
$r = (!is_numeric($n)) ? "not numeric" : (($n<0) ? "less than zero" : "greater then or equal to zero");