PHP setlocale() 函数


实例

设置地区为 US English,然后再设置回系统默认:

<?php
echo setlocale(LC_ALL,"US");
echo "<br>";
echo setlocale(LC_ALL,NULL);
?>
运行一下 »

定义和用法

setlocale() 函数设置地区信息(地域信息)。

地区信息是针对一个地理区域的语言、货币、时间以及其他信息。

注释:setlocale() 函数仅针对当前脚本改变地区信息。

提示:可以通过 setlocale(LC_ALL,NULL) 把地区信息设置为系统默认。

提示:如需获取数字格式信息,请查看 localeconv() 函数。

语法

setlocale(constant,location)


参数描述
constant必需。规定应该设置什么地区信息。

可用的常量:

  • LC_ALL - 包括下面的所有选项
  • LC_COLLATE - 排序次序
  • 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 通知。