Category is een string die de categorie specifieert van de functies die worden beinvloed worden door de locale setting:
LC_ALL voor alle onderstaande
LC_COLLATE voor string vergelijking - momenteel niet geïmplementeerd in PHP
LC_CTYPE voor karakter classificatie en conversie, bijvoorbeeld strtoupper()
LC_MONETARY voor localeconv() - momenteel niet geïmplementeerd in PHP
LC_NUMERIC voor decimal scheidingsteken
LC_TIME voor datum en tijd formattering met strftime()
Als locale een lege string is "", de locale namen zullen gedefinieerd worden door de waarden van de environment-variables met dezelfde namen als bovenstaande categorieen, of door "LANG".
Als locale 0 of "0" is, zal de locale setting niet aangetast worden, alleen de huidige setting wordt dan teruggegeven.
Setlocale retourneert de nieuwe huidige locale, of FALSE als de locale functionaliteit niet geimplementeerd is op het platform, de gespecifieerde locale niet bestaat of als de categorie naam incorrect is. Een incorrecte categorie naam zal ook een waarschuwingsboodschap genereren.