public static function map($filename, $callback, $option = null) { $it = new self($filename, $option); while ($it->valid()) { $key = $it->key(); $value = $it->current(); if (is_callable($callback)) { $ret = call_user_func($callback, $key, $value); if (!$ret) { break; } } $it->next(); } //$it->__destruct(); unset($it); }