欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP字符串格式化函数

程序员文章站 2022-07-15 08:34:03
...

localeconv:数值的格式化信息,根据setlocale函数设置的当前地区,返回一个包含本地化数字和货币格式化信息的关联数组。

setlocale:设置地区信息,第一个参数指定了受区域设置影响的函数类别常量,第二个参数指定将地区信息设置为哪个国家/地区,可以是一个或多个字符串或数组。如果地区信息是null或者空字符串,则会将其设置为函数类别常量中同名的环境变量或者根据LANG进行设置;如果地区信息为0,则地区设置不受影响,只返回当前设置;如果地区信息是数组,则会尝试每个数组元素,直到找到合法的语言或地区代码为止,如果某个地区在不同的系统上拥有不同的名称,这一点很有用。如果区域设置功能没有实现则返回false,可能是指定的区域不存在或者类别名称无效。如果类名名称无效会产生E_DEPRECATED警告。

money_format:将数字格式化成货币字符串,接受两个参数,第一个是格式字符串,第二个是要转换格式的数字,如果传入的不是数字将返回null并产生E_WARING错误。具有strfmon的系统才有此函数,所以windows上是没有此函数的,此函数受locale中LC_MONETARY影响,所以在使用前要先用setlocale来设置区域。

nl_langinfo:返回具体的本地信息。与localeconv不同的是localeconv只返回指定的元素信息。接受一个参数为要获取其信息的元素的整型值或元素的常量名。返回指定元素的本地信息或者元素不合法时返回false,可用常量表见nl_langinfo常量表

number_format:以千位分隔符方式格式化一个数字。有两种调用方法,第一种是接受两个参数,第一个是必需的要转换的数字,第二个是可选的要保留的小数符号后的位数,默认为0,以此方式调用时,默认小数符号为“.”,千位符号为“,”。第二种是接受四个参数,前两个参数与第一种调用方式相同,第三个参数为小数点符号,第四个参数为千位分隔符号,四个参数都是必需的。

<?php
if (false !== setlocale(LC_ALL, 'zh_CN', 'en_US', 'en_GB', 'ge')) {
   var_dump(localeconv());
}
echo money_format('%=a#8.2n', 1234.567) . "\n";
echo money_format('%=b^#8.2i', 1234.567) . "\n";
echo money_format('%=c!#8.2i', 1234.567) . "\n";
echo money_format('%=d#8.2i%%', 1234.567) . "\n";
echo money_format('%=e-#8.2n%%', 1234.567) . "\n";
echo money_format('%=f+#8.2i', -1234.567) . "\n";
echo money_format('%=g(#8.2i', -1234.567) . "\n";
echo nl_langinfo(ABDAY_1)."\n";
echo nl_langinfo(DAY_1)."\n";
echo number_format(123.456,2)."\n";
?>