在php插件中,我编写了此函数:
function is_number( $nbr ){
$locale= get_locale();
setlocale( LC_NUMERIC, $locale );
return ( is_numeric( $nbr ) || is_float( $nbr ) );
}
...当然还有一个命名空间。
问题在于该函数生成了一个CSS错误,因为在另一个代码块中,有一个php函数可以生成不透明的float并通过rgba(0,0,0,0.5)
之类的字符串创建一个rbga:
function stylesheet_get_opacity( $opacity = 0 ) {
$opacity = ($opacity > 0) ? $opacity/100 : 0;
return $opacity;
}
因此$opacity
应该一直像0.5
一样,而不要昏迷。但是,如果我的函数将设置为local并且您在法国,例如,如果输入$opacity
等于50
,则输出将是0,5
而不是0.5
最后破坏css。
那么,如何在不更改代码stylesheet_get_opacity
的情况下解决此问题呢?
也许我应该在数字检查后重设setLocale
,但是该怎么做?
类似的东西:
function is_number( $nbr ){
$locale= get_locale();
setlocale( LC_NUMERIC, $locale );
$output = ( is_numeric( $nbr ) || is_float( $nbr ) );
//Here reset setlocale
return $output;
}
答案 0 :(得分:0)
就我而言,NULL
影响语言环境设置并将其重置。 0
的值无效。
这是完整的解决方案:
function is_number( $nbr ){
$locale= get_locale();
setlocale( LC_NUMERIC, $locale );
$output = ( is_numeric( $nbr ) || is_float( $nbr ) );
setlocale( LC_NUMERIC, NULL );
return $output;
}