这个想法是会有一个php函数回显目录中每个图像的html(scandir)
我想用a for each(类似的东西)来遍历那个数组并将值赋给img src值
但是为了有一个函数来分配允许
的类值脚本而不是手动css定位我需要能够根据
分配类一组对象中的相对位置。例如,一个目录中有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&amp; 5是假设的,我更可能使用7或12的类分配周期
真的很高兴我该怎么做?我只是自学,这非常重要。
答案 0 :(得分:1)
您基本上是在寻找模运算符。我认为它也可以在javascript中使用,以下是一个PHP示例,它在两个地方使用它。
modulo operator %
Docs返回除法运算的剩余值。
Demo:
$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">
...
答案 1 :(得分:0)
您可以使用cycle
中定义的[1,2,3,4,5]
方法。
这将循环遍历数组中的值,例如。如有必要,reset_cycle
和{{1}}会重置周期,但我认为此用例不需要重置。
答案 2 :(得分:0)
您可以使用模数(%)来实现此目的。 在你的循环中,记录一个数字,计算你对循环的迭代次数。然后使用模数为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++;
}
我在没有测试的情况下从头顶写下了这个,所以在那里可能会出现错误,但它会让你知道你能做些什么。 查看this tiny example。或谷歌搜索“php modulo”。
我希望这会有所帮助。
答案 3 :(得分:0)
$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;
}