Php 确定图元在可变长度图元网格中的位置

Php 确定图元在可变长度图元网格中的位置,php,javascript,switch-statement,Php,Javascript,Switch Statement,我有一个由数量可变的元素组成的网格。假设每行5张图片,图片数量可变。我需要确定每个图像在哪一列(因为没有更好的词)。。。i、 e.1、2、3、4或5 在此网格中,图像1、6、12和17将位于第1列,而图像4、9和15将位于第4列 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 我试图做的是根据每个元素的列位置将背景图像应用于每个元素 这是一个硬编码、不灵活但工作完美的例子(如果我在这里找错了方向,请务必告诉我你是如何理想地完成这项工作

我有一个由数量可变的元素组成的网格。假设每行5张图片,图片数量可变。我需要确定每个图像在哪一列(因为没有更好的词)。。。i、 e.1、2、3、4或5

在此网格中,图像1、6、12和17将位于第1列,而图像4、9和15将位于第4列

1  2  3  4  5 
6  7  8  9  10
12 13 14 15 16
17 18 19
我试图做的是根据每个元素的列位置将背景图像应用于每个元素

这是一个硬编码、不灵活但工作完美的例子(如果我在这里找错了方向,请务必告诉我你是如何理想地完成这项工作的,因为当我看到有人问“我如何建造一个镀金的太阳能喷射器组以到达这座大楼的顶部?”而他们真的应该问时,这总是让我感到困扰“电梯在哪里?”):


哦,更多信息…该开关中的
imgnum
值由单击事件确定。

对此类工作使用模运算符。模运算符提供整数除法的剩余部分。模运算符在PHP和JS中都是
%

您可以使用以下内容替换整个代码块:

value = imgnum % 5;
if(value == 0) { value = 5; }
$('.someclass > ul').css('background','url("/img/'+value+'.png") no-repeat');

对这种类型的工作使用模运算符。模运算符提供整数除法的余数。在PHP和JS中,模运算符都是
%

您可以使用以下内容替换整个代码块:

value = imgnum % 5;
if(value == 0) { value = 5; }
$('.someclass > ul').css('background','url("/img/'+value+'.png") no-repeat');
假设您在客户端上执行此操作,则可以使用:

要匹配的每个子级的索引, 从1开始,字符串为偶数或 奇数,或方程式(如。 :n个孩子(偶数),:n个孩子(4n))

列号将是索引模5。

如果在客户端上执行此操作,则可以使用:

要匹配的每个子级的索引, 从1开始,字符串为偶数或 奇数,或方程式(如。 :n个孩子(偶数),:n个孩子(4n))


列号将是索引模5。

哦,当然,如果你想采用简单路径;)这只是简单路径在哪里?我认为这是解决它的正确方法。如果你想在服务器端使用模运算符,也可以在PHP中使用(只需在变量前面附加一个美元符号,就可以了)。哦,当然,如果你想走简单的路线;)这就是简单的路线在哪里?我认为这是解决它的正确方法。如果你想在服务器端使用模数运算符,也可以在PHP中使用它(只要在变量前面加上一个美元符号,就可以了)。这有点过头了。当您拥有PHP中所需的所有工具时,无需将另一个完整的库添加到您的设置中。推论也是正确的:当您可以在浏览器中执行时,PHP本身就是过头了。这有点过头了。当您拥有PHP中所需的所有工具时,无需将另一个完整的库添加到您的设置中。推论是同样正确的是:当你可以在浏览器中使用PHP时,它本身就是一种杀伤力。
$row_num = int($imgnum/5, PHP_ROUND_HALF_DOWN);

$column_num = (($row_num * 5) - $imgnum)*-1