0

以下代码:

switch ($value) {
    case INF: $x = 'INF';
        break;
    case -INF: $x = '-INF';
        break;
    case NAN: $x = 'NaN';
        break;
    default: break;
}

不像我预期的那样工作。我知道有像is_infinite()这样的函数,但是我可以在 switch 语句中检查变量无穷大吗?

我的输入可以是任何简单的值(即不是数组也不是对象)。可以是整数、浮点数、字符串等。

4

1 回答 1

1

我可以在 switch 语句中检查变量无穷大吗?

不,Switch 语句适用于常量,而不适用于表达式。

if (is_infinite($value) || is_nan($value)) {
  $x = (string)$value;
}

它的代码行数也更少。

于 2013-03-07T14:18:40.897 回答