function genTokenNo()
{
static $i=0;
$i=$i+1;
return str_pad($i, 5, '0', STR_PAD_LEFT);
}
当我在其他文件ä¸è°ƒç”¨æ¤å‡½æ•°æ—¶ï¼Œå‡½æ•°ä¸ä¼šè¿”回唯一值(递增值)。æ¤å¤–,当我在åŒä¸€ä¸ªæ–‡ä»¶ï¼ˆå‡½æ•°çš„ä½ç½®ï¼‰ä¸å›žæ˜¾æ¤å‡½æ•°æ—¶ï¼Œå®ƒå·¥ä½œæ£å¸¸ã€‚ 我知é“é™æ€å˜é‡èŒƒå›´çš„æ¦‚å¿µï¼Œå› ä¸ºæˆ‘å·²ç»å°è¯•è¿‡å°†$ i替æ¢ä¸º$ _SESSION [' i'],但没有预期的结果。 æå‰è°¢è°¢ã€‚
ç”案 0 :(得分:2)
请注æ„,$i
的值ä¸ä¼šä¿ç•™ã€‚å› æ¤ï¼Œæ— 论何时å‘æœåŠ¡å™¨è¿è¡Œæ–°è¯·æ±‚,都会é‡æ–°åŠ 载脚本并将$i
é‡ç½®ä¸º0
。
è¦åœ¨æ¯ä¸ªç”¨æˆ·çš„会è¯ä¸ä¿ç•™å˜é‡ï¼Œè¯·ä½¿ç”¨$SESSION['i']
,但æ£å¦‚您已ç»å°è¯•è¿‡çš„,æ¯ä¸ªä¼šè¯éƒ½æ˜¯å”¯ä¸€çš„,而ä¸æ˜¯å…¨å±€çš„。
è¦ä½¿ç”¨fopen
/ flock
/ fread
/ fwrite
/ fclose
函数,您需è¦åœ¨ç£ç›˜ä¸Šå˜å‚¨å…¨çƒå”¯ä¸€ç¼–å·ã€‚
ç”案 1 :(得分:0)
对于å•ä¸ªè¯·æ±‚,它应该å¯ä»¥æ£å¸¸å·¥ä½œ -
function genTokenNo()
{
static $i=0;
$i=$i+1;
return str_pad($i, 5, '0', STR_PAD_LEFT);
}
echo genTokenNo() . ' - ' . genTokenNo() . ' - ' . genTokenNo();
<强>输出强>
00001 - 00002 - 00003
但是如果您多次请求,则æ¯æ¬¡è¯·æ±‚都会é‡ç½®è¯¥å€¼ï¼Œå¹¶ä¸”æ¯æ¬¡å“应都相åŒã€‚我建议将值å˜å‚¨åœ¨æ•°æ®åº“或æŸä¸ªæ–‡ä»¶ä¸ã€‚在这ç§æƒ…况下使用seesion
woludä¸å¯é 。
ç”案 2 :(得分:0)
您的结构如下所示:
<强> file1.php 强>
function genTokenNo()
{
static $i=0;
$i=$i+1;
return str_pad($i, 5, '0', STR_PAD_LEFT);
}
<强> file2.php 强>
include('file1.php');
//^^^^^^^^^^^^^^^^^^^ Include file before call that function.
echo genTokenNo(); //00001
echo "<br />";
echo genTokenNo(); //00002
echo "<br />";
echo genTokenNo(); //00003
echo "<br />";
echo genTokenNo(); //00004
ç”案 3 :(得分:0)
<强> file1.php 强>
<?php
function genTokenNo()
{
static $i=0;
$i=$i+1;
return str_pad($i, 5, '0', STR_PAD_LEFT);
}
?>
<强> file2.php 强>
<?php
include('file1.php');
$sql = "INSERT INTO table SET TokenNo='".genTokenNo()."' ";
mysql_query($sql);
?>
ç”案 4 :(得分:-1)
 Â当函数å˜åœ¨æ—¶ï¼Œåˆ™ä¸¢å¤±é™æ€å˜é‡çš„值
if(isset($_SESSION['i']))
$_SESSION['i']++;
else
$_SESSION['i']=0;