其他人发现更新到5.3.26后PHP不再为uniqid()
生成唯一值?我之前的版本是5.3.16。
这不是一个小问题。我的DOM ID是使用该函数为所有jQuery UI按钮生成的,其中很多都有重复的ID。
我已将代码从uniqid("button")
更改为uniqid("button",true)
,但未更改结果。仍然有重复的ID。
将Zend Server免费版更新到最新版本后会发生这种情况。
有解决方案吗?重构代码以使用整数计数器不是一项小任务,这意味着我必须重新测试所有内容。
答案 0 :(得分:2)
好的,我能够通过以下方式解决我的问题。
变化:
$id = uniqid('button');
要
$id = str_replace('.','-',uniqid('button',true));
包括附加一个点的额外数字。这会创建无效的DOM ID(在我的情况下),所以我只需用短划线替换它。
答案 1 :(得分:0)
uniqid()仅提供概率的unicity。如果你真的想要一个唯一的ID,你将不得不使用递增的整数。
那说重复的uniqids的可能性非常小。你是否以任何方式截断了uniqid()的结果?