0

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

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

所以有什么问题?

先感谢您。

4

2 回答 2

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

于 2013-02-20T09:24:26.653 回答
0

试试这个 :

$r = (!is_numeric($n)) ? "not numeric" : (($n<0) ? "less than zero" : "greater then or equal to zero");
于 2013-02-20T09:26:54.330 回答