按相对位置对项目进行计数和分组.例如,按5's分组
Counting and grouping items by relative position. grouping by 5's for instance
这个想法是,将有一个php函数对目录(scandir)中的每个图像返回html
我想使用a来遍历数组并将值赋给img src值
但是为了有一个函数赋给类值允许
我需要能够基于 来分配类在一组对象中的相对位置。例如,一个目录中有50张图片,scandir返回这些文件的数组,函数为每个项目生成img标记,分配类(我怀疑是变量中的函数来完成这个任务),循环遍历5个类,输出如下
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
现在的数字50 &5个是假设的,我更有可能使用7或12个班的作业周期
我该怎么做呢?我只是在自学,这真的很重要。
你基本上是在寻找模运算符。我认为它在javascript中也是可用的,下面是一个PHP示例,在两个地方使用了它。
- 循环遍历可用的类名数组
- 在每个X图像之后插入一个换行符。
模算子%
Docs返回除法运算的剩余值。
$images = array_fill(0, 50, 'example'); // 50 example images
$classes = range('a', 'e'); // 5 example classes (a-e)
foreach($images as $index => $src)
{
# get image class
$class = $classes[$index % count($classes)];
printf('<img class="%s" src="%s">'."'n", $class, $src);
# echo empty line after each 5th image
if (4 === $index % 5)
echo "'n";
}
输出:<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
<img class="c" src="example">
<img class="d" src="example">
<img class="e" src="example">
<img class="a" src="example">
<img class="b" src="example">
...
$cycle = 5;
$classes = array( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' );
$i = 0;
foreach( $files as $file ) {
echo '<img class="'.$classes[ $i % $cycle ].'" src="'.$file.'">';
++$i;
}
您可以使用下面代码段中定义的cycle
方法。
这将循环遍历数组中的值。如果有必要,[1,2,3,4,5]
和reset_cycle
将重置循环,尽管我不认为这个用例需要重置。
您可以使用模数(%)来实现这一点。在你的循环中,记录一个数字,计算你的循环进行了多少次迭代。然后使用模将一个不同的类分配给html。例如:
$rowCount = 5; //number of images in a row
$i = 1;
foreach($images as $image) {
$classNumber = $i % $rowCount;
echo '<img class="image_' . $classNumber . '" src="example">';
$i++;
}
我在没有测试的情况下写了这个,所以可能在某个地方有错误,但这是为了让你知道你可以做什么。看看这个小例子。或者谷歌"php modulo"
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何在可分组的剑道网格中设置空数据文本
- 在三个.js中创建球体(例如地球)的磁力线
- 如何通过数据分组将json数据转换为嵌套的json数据格式
- 被javascript正则表达式分组卡住了
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 使用AJAX在剑道网格中分组时出现Javascript错误
- 数据表排序但对行进行分组
- Highchart Js柱形图堆叠和分组
- 将javascript应用程序迁移到使用AMD的提示(例如requirejs)
- 如何在javascript中通过rtl字母表对列表进行排序和分组
- 将字符串分组为n个字符的块,并应用替换
- 如何使jQueryGrid与分组多列PHP
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- Javascript-JSON-嵌套和分组
- 在使用javascript的输入字段中,只接受20的倍数(例如40,60,80)
- 具有多个数据集的分组散点图D3
- 如何按对象数组进行分组和求和
- 隐藏dc.dataTable的分组行
- 按相对位置对项目进行计数和分组.例如,按5's分组