我最近遇到了一个非常有趣的问题。我在网站上有以下代码来生成一个由 10 位数字组成的数字,后跟一个句点 (.),然后是 2 到 4 位数字。我还使用 gettext 函数将页面翻译成其他 2 种不同的语言
<?php
$lang = "en_UK";
putenv("LC_ALL=$lang");
setlocale(LC_ALL, $lang);
bindtextdomain("messages", "locale");
bind_textdomain_codeset('messages', 'UTF-8');
textdomain("messages");
list($usec, $sec) = explode(" ",microtime());
$my_number = ((float)$usec + (float)$sec + (float)rand(1, 100000000));
?>
<form method ="POST" action="">
<input type="hidden" value="<?php echo $my_number; ?>"/>
<input type="submit"/>
</form>
到目前为止,一切都很好。当$lang
等于en_UK时,我得到了我需要的东西(1234567891.1234)。
但如果$lang
等于it_IT或de_DE,则将$my_number
格式更改为 10 位数字,后跟一个COMMA,然后是 2 到 4 位数字 (1234567891,1234)。
有人现在为什么会发生这种情况???非常感谢 :)