我在 PHP 中有这个:
$_chars = "0123456789ZXCVBNMASDFGHJKLQWERTYUIOP";
for($l = 0; $l<4; $l++){
$temp = str_shuffle($_chars);
$_charcode .= $temp;
}
我希望它只生成 4 个字符。目前它正在生成 6。我尝试编辑 $l 但它没有改变任何东西。
我在 PHP 中有这个:
$_chars = "0123456789ZXCVBNMASDFGHJKLQWERTYUIOP";
for($l = 0; $l<4; $l++){
$temp = str_shuffle($_chars);
$_charcode .= $temp;
}
我希望它只生成 4 个字符。目前它正在生成 6。我尝试编辑 $l 但它没有改变任何东西。
文档(http://php.net/str_shuffle)状态:
str_shuffle() 打乱一个字符串。创造了所有可能的一种排列。
它实际上应该生成4 * strlen($_chars)
字符......</p>
我假设你想要:
$_charcode .= $temp[0]; // only one character
从文档中:
str_shuffle()
洗牌一个字符串。创造了所有可能的一种排列。
您只需要从打乱的字符串中检索一个字符:
$_charcode .= $temp[0];
因此,代码应如下所示:
$_chars = "0123456789ZXCVBNMASDFGHJKLQWERTYUIOP";
$_charcode = ''; // initialize the variable with an empty string
for($l = 0; $l<4; $l++){
$temp = str_shuffle($_chars);
$_charcode .= $temp[0];
}
echo $_charcode;
输出(示例):
8VG6