diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -402,6 +402,7 @@ 'newv' => 'utils/utils.php', 'nonempty' => 'utils/utils.php', 'phlog' => 'error/phlog.php', + 'phnutil_count' => 'internationalization/pht.php', 'pht' => 'internationalization/pht.php', 'phutil_censor_credentials' => 'utils/utils.php', 'phutil_console_confirm' => 'console/format.php', diff --git a/src/internationalization/pht.php b/src/internationalization/pht.php --- a/src/internationalization/pht.php +++ b/src/internationalization/pht.php @@ -16,3 +16,13 @@ $translator = PhutilTranslator::getInstance(); return call_user_func_array(array($translator, 'translate'), $args); } + +/** + * Count all elements in an array, or something in an object. + * + * @param wild An array or `Countable` object. + * @return PhutilNumber Returns the number of elements in the input parameter. + */ +function phnutil_count($countable) { + return new PhutilNumber(count($countable)); +}