PHP替代语法和字符串/数字比较

时间:2013-02-20 09:22:57

标签: php string syntax numbers

我可以走出这个。正常的语法似乎有效,否则替代语法似乎无法按预期工作。

<?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"
?>

那么问题是什么?

提前谢谢你。

2 个答案:

答案 0 :(得分:0)

使用此功能,您在功能中错过了()

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

答案 1 :(得分:0)

试试这个:

$r = (!is_numeric($n)) ? "not numeric" : (($n<0) ? "less than zero" : "greater then or equal to zero");