Facebook Engineer?

This is available as Str\compare_l in the www repository.

Returns < 0 if $string1 is less than $string2, > 0 if $string1 is greater than $string2, and 0 if they are equal

namespace HH\Lib\Str;

function compare_l(
  \HH\Lib\Locale\Locale $locale,
  string $string1,
  string $string2,
): int;

For a case-insensitive comparison, see Str\compare_ci_l().

Locale-specific collation rules will be followed, and strings will be normalized in encodings that support multiple representations of the same characters, such as UTF8.


  • \HH\Lib\Locale\Locale $locale
  • string $string1
  • string $string2


  • int