PHP:将变量设置为无穷大

时间:2011-12-12 16:31:34

标签: php

我想知道我是否可以将变量设置为无穷大,如果不是,那么实现我的问题的最佳方法是什么。以下是我的功能:

public function seekValue($value, $column = null, $limit = null) {
  $this->connect('rb');
  $results = array();
  while (!feof($this->_pointer)) {
      $data = explode($this->_config->delimiter(), fgets($this->_pointer, 1024));
      if(!is_null($column)) {
          if ($data[$this->_config->columns($column, "string")->index()] == $value)
              array_push($results, $this->formatRow($data));
      } else {
          if (in_array($value, $data))
              array_push($results, $this->formatRow($data));
      }
  }
  $this->disconnect();
  switch (count($results)) {
      case 0;
          return false;
      case 1;
          return $results[0];
      default;
          return $results;
  }
}

我在函数参数列表中设置了$limit = null,但后来我想在我的while循环中使用$limit,因此while (!feof($this->_pointer) && count($results) < $limit)允许用户决定向其传递一个整数。 / p>

如果是这种情况,我可以这样做:

if (!is_int($limit)) {
  $limit = infinity;
}

如果未设置$limit,则表示无限次运行。

我希望这是有道理的。

3 个答案:

答案 0 :(得分:55)

回答原来的问题:

是的,您可以通过分配INF

将变量设置为无穷大
$x = INF;
var_dump($x > 10000); // bool(true)
var_dump($x - 100); // float(INF)

答案 1 :(得分:2)

为什么不适应这种情况:

while (!feof($this->_pointer) && ( ($limit === NULL) || (count($results) < $limit)) )

答案 2 :(得分:1)

为什么不......

while (!feof($this->_pointer) && (is_null($limit) || count($results) < $limit))

这种方式如果它不为空,那么只有当它评估&amp;&amp; count($ results)&lt; $限制