public static function length($val) { if (is_array($val) || $val instanceof \Countable) { return count($val); } elseif ($val instanceof \Traversable) { return iterator_count($val); } else { return strlen(utf8_decode($val)); // fastest way } }