1

uniqid()其他人发现 PHP在更新到 5.3.26 后不再产生唯一值吗?我以前的版本是 5.3.16。

这不是一个小问题。我的 DOM ID 是使用该函数为所有 jQuery UI 按钮生成的,其中很多都有重复的 ID。

我已将代码从更改为uniqid("button")uniqid("button",true)但它没有改变结果。仍然得到重复的ID。

这发生在将 Zend Server 免费版更新到最新版本之后。

有针对这个的解决方法吗?重构代码以使用整数计数器不是一项小任务,这意味着我必须重新测试所有内容。

4

2 回答 2

4

好的,我可以通过执行以下操作来解决我的问题。

改变:

 $id = uniqid('button');

 $id = str_replace('.','-',uniqid('button',true));

这包括附加一个点的额外数字。这会创建无效的 DOM ID(在我的情况下),所以我只是用破折号替换它。

于 2013-08-01T14:36:52.077 回答
0

uniqid() 仅提供唯一性的概率。如果你真的想要一个唯一的 ID,你将不得不使用一个递增的整数。

也就是说,重复uniqids的可能性很小。您是否以任何方式截断 uniqid() 的结果?

于 2013-08-01T14:28:01.597 回答