Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中是否存在getlocale()方法?_Php_Localization_Internationalization - Fatal编程技术网

php中是否存在getlocale()方法?

php中是否存在getlocale()方法?,php,localization,internationalization,Php,Localization,Internationalization,我在PHP中找不到getlocale()函数。。。 有没有办法获取当前区域设置 <?php $locale="en_US"; setlocale(LC_ALL, $locale); ... ... ... $locale=getlocale(LC_MESSAGES); //I need to get the setted locale! ?> 我不能将其存储在全局变量中,因为我需要LC_消息的当前语言环境集,自定义脚本可以在代码执行期间更改它 记住,我需要“en_US”作为ge

我在PHP中找不到
getlocale()
函数。。。 有没有办法获取当前区域设置

<?php
$locale="en_US";
setlocale(LC_ALL, $locale);
...
...
...
$locale=getlocale(LC_MESSAGES); //I need to get the setted locale!
?>

我不能将其存储在全局变量中,因为我需要LC_消息的当前语言环境集,自定义脚本可以在代码执行期间更改它

记住,我需要“en_US”作为getlocale()答案…使用

$locale=setlocale(LC_ALL, 0);
你会得到一个像

"LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C"

C
对于系统意味着“使用任何硬编码的语言环境”(因为大多数*NIX程序都是用C编写的,所以称为C),并且等同于
LC\u CTYPE

的初始字符串条目,但是如何获取“en\u US”字符串呢?我设置了“en_US”字符串我想得到“en_US”字符串。取
$locale
字符串,替换
&
编码>然后使用;然后你可以从结果数组中获取
LC\u CTYPE
条目。我没有得到它,我设置了“us”,我得到了“English\u United”。也许这是因为我使用的是Windows S.O。?