PHP setlocale() function

Example

Set the locale to US English and then reset it to the system default:

<?php
echo setlocale(LC_ALL, "US");
echo "<br>";
echo setlocale(LC_ALL, NULL);
?>

Running example

Definition and usage

The setlocale() function sets locale information (geographical information).

Locale information is for a geographical region's language, currency, time, and other information.

注释:The setlocale() function only changes the locale information for the current script.

Tip:Locale information can be set to the system default with setlocale(LC_ALL, NULL).

Tip:For information on number formats, see localeconv() Function.

Syntax

setlocale(constant,location)
Parameter Description
constant

Required. Specifies what locale information should be set.

Available constants:

  • LC_ALL - Includes all the following options
  • LC_COLLATE - Sorting order
  • LC_CTYPE - 字符类别及转换(例如所有字符大写或小写)
  • LC_MESSAGES - 系统消息格式
  • LC_MONETARY - 货币格式
  • LC_NUMERIC - 数字格式
  • LC_TIME - 日期和时间格式
location

必需。规定把地区信息设置为哪个国家/地区。可以是字符串或者数组。可以传递多个位置。

如果 location 参数是 NULL 或空字符串 "",则位置名称会被设置为上面常量中同名的环境变量的值或者根据 "LANG" 进行设置。

如果 location 参数是 "0",则位置设置不受影响,只返回当前的设置。

如果 location 参数是数组,setlocale() 会尝试每个数组元素,直到找到合法的语言或地区代码为止。如果某个地区在不同的系统上拥有不同的名称,这一点很有用。

注释:如需查看所有可用的语言代码,请访问我们的语言代码参考手册

技术细节

返回值: 返回当前地区设置,如果失败则返回 FALSE。返回值取决于运行 PHP 的系统。
PHP 版本: 4+
更新日志:

在 PHP 4.2.0 中,废弃将常量作为字符串传递。请使用可用的常量代替。将常量作为字符串传递会产生一条警告消息。

在 PHP 4.3.0 中,可传递多个 locations。

自 PHP 5.3.0 起,如果传递给 constant 参数是字符串,而不是 LC_ 常量之一,该函数会抛出一个 E_DREPRECATED 通知。