【发布时间】:2011-01-11 12:25:29
【问题描述】:
使用随机数包含在另一个字符中。然后我想去掉随机数,只留下另一个字符。我有这段代码可以始终如一地生成随机数(8 个字符长)。如果您多次点击刷新按钮,即使“随机数”和“ID”仍然存在,“ID”字段也会消失。不确定 substr 函数中刷新时随机数发生了什么。 这是代码:
// Begin Create Random ID Code /////////////////////////////////////////
function gRanStr1() {
$length1 = 8;
$characters = “0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”;
for ($p = 0; $p < $length1; $p++) {
$lcrs1 .= $characters[mt_rand(0, strlen($characters)-1)];
}
$lcrs9 = str_replace(' ', '', $lcrs9);
return $lcrs1;
}
// End Create Random ID Code /////////////////////////////////////////
// Begin Decode Random ID Code /////////////////////////////////////////
$TrkR99 = "c";
$ResHeadID = gRanStr1() . $TrkR99;
$ResHeadID = preg_replace('/[\s]+/',' ',$ResHeadID);
echo "”;
echo $ResHeadID . ” = echo of Random Number plus ID“;
for($i=0; $i<strlen($ResHeadID); $i++){
if(!is_numeric(substr($ResHeadID, $i, 1))){
$Index1 = $i;
break;
}
}
if ($ResHeadID == "") {
"";
} else {
$ResHeadID = preg_replace('/[\s]+/',' ',$ResHeadID);
$TrkRa1 = substr($ResHeadID, $Index1 + 8, 1);
}
$dTrkRes = $TrkRa1;
echo $TrkRa1 . " = echo of ID after random number stripped.“;
echo “”;
// End Decode Random ID Code /////////////////////////////////////////
【问题讨论】:
-
您有一些语法错误。我强烈建议您使用像 Notepad++ 这样的语法高亮编辑器。另外,不要使用智能引号。
-
很抱歉,您的代码真的是一团糟。变量命名的目的似乎是为了确保程序员的工作,有些行根本没用(如
$lcrs9 = str_replace(' ', '', $lcrs9); # what for? there is no $lcrs9!)或echo ""; # there is the smart quote!或if ( $ResHeadID == "") { ""; /* WTF? */ }每当发布问题时请提供一些可读