我想知道我是否可以将变量设置为无穷大,如果不是,那么实现我的问题的最佳方法是什么。以下是我的功能:
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
,则表示无限次运行。
我希望这是有道理的。
答案 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; $限制