根据用户ID生成1-5的数字?

时间:2016-06-21 09:17:14

标签: php

构建一个Web应用程序,并希望根据用户ID为每个用户分配5个默认头像中的一个(作为Gravatar后备)。

将为用户1分配头像1 将为用户2分配头像2 将为用户3分配头像3 将为用户4分配头像4 将为用户5分配化身5 将为用户6分配头像1

等等......

如何将用户ID转换为"头像ID"用PHP?我理解那里涉及一些基本的数学,但是现在我的大脑还没有运作。

谢谢!

3 个答案:

答案 0 :(得分:4)

只需modulus 5:

$avatar = ($id % 5) + 1; // 1 through 5

即,您通过将用户ID($id)除以5(0-4)获得余数,然后加1。

编辑$avatar = (($id - 1) % 5) + 1;如果您想要1 => 1 ... 6 => 1而不是转移一个地方,参见demo

答案 1 :(得分:0)

使用User id mod 5生成0到4之间的数字

答案 2 :(得分:0)

在这种情况下,你需要做的是取id号的模数5。 (假设身份证号码像1,2,3,4,5,6,7,8,9,10 ......

$avtarId= ($userId % 5) +1;
由于头像id类似于1,2,3,4,5而不是0,1,2,3,4

,因此添加了

1