public static function is_odd($obj = null)
{
if (is_scalar($obj) || is_null($obj)) {
$obj = is_numeric($obj) ? intval($obj) : strlen($obj);
} elseif (is_array($obj)) {
$obj = count($obj);
} elseif ($obj instanceof \Traversable) {
$obj = iterator_count($obj);
} else {
return false;
}
return abs($obj % 2) == 1;
}