function f_flatten($a, $f=array()){
	if(!$a || !is_array($a)) return $a;
	foreach($a as $k=>$v) {
		if(is_array($v)) {
			$f = array_merge(f_flatten($v), $f);
		} else {
			$f[$k] = $v;
		}
	}
	return $f;
}
function f_flatten($in) {
	return f_reduce(
		function($a, $b) {
			if(is_array($a)) {
				$a = f_flatten($a);
			}
			return array_merge((array)$a, (array)$b);
		},
		$in
	);
}
Exemple #3
0
	public function limit() {
		$this->_limit = array_filter(f_flatten(func_get_args()));
		//D::log($this->_limit, 'limit');
		//D::log(array_filter($this->_limit), 'limit filtered');
		if(empty($this->_limit)) {
			$this->_limit = null;
		}
		return $this;
	}
	function getTotalRows() {
		return intval(f_first(f_flatten($this->lib('databases/Query')->reset()->select('*')->from($this->tableName)->count()->results('assoc'))));
	}
	public function limit() {
		$this->_limit = array_reverse(f_flatten(func_get_args()));
		return $this;
	}