function remove_if($needle, $source) { if (is_array($source)) { foreach ($source as $i => &$elem) { $elem = remove_if($elem, $needle); if (!$elem) { unset($source[$i]); } } } else { if (find($needle, $source)) { $source = false; } } re($source); return $source; }
public static function PubGetSlots($table, $include_virtuals = true) { $slots = self::$_slotdb[$table]; if ($include_virtuals) { return $slots; } else { return remove_if(function ($c) { return isset($c["virtual"]) && $c["virtual"]; }, $slots); } }