我的images文件夹的文件格式如下
<img src='images/AAA_1.jpg'>
<img src='images/AAA_2.jpg'>
<img src='images/AAA_3.jpg'>
<img src='images/BBB_1.jpg'>
<img src='images/BBB_2.jpg'>
<img src='images/BBB_3.jpg'>
<img src='images/CAAA_
.jpg'>
<img src='images/DDD_1.jpg'>
<img src='images/EEE_1.jpg'>
<img src='images/EEE_2.jpg'>
......
my function is
function filter($contain){
foreach ($carousel as $image) {
if(strpos($image, $contain) === 0){
$op = "<div class='box'><img src='imgs/$image'/></div>";
}
}
}
getallfiles用于获取imgs文件夹文件。
$name有CC_1, BBB_
, CCC_
, DDD_
我如何为每个组插入first
类,期望的输出如下
<div class="box first">
<img src='images/AAA_1.jpg'>
</div>
<div class="box">
<img src='images/AAA_2.jpg'>
</div>
<div class="box">
<img src='images/AAA_3.jpg'>
</div>
<div class="box first">
<img src='images/BBB_1.jpg'>
</div>
<div class="box">
<img src='images/BBB_2.jpg'>
</div>
<div class="box">
<img src='images/BBB_3.jpg'>
</div>
<div class="box first">
<img src='images/CCC_1.jpg'>
</div>
<div class="box first">
<img src='images/DDD_1.jpg'>
</div>
您需要在循环之前设置一个变量,它将帮助您确定每个字母的第一个是否已设置。第一次输出该类,然后将该变量设置为可以帮助您知道不会再次输出该类的值。
使用这些数组:
$carousel = array(
'AAA_1.jpg',
'AAA_2.jpg',
'AAA_3.jpg',
'BBB_1.jpg',
'BBB_2.jpg',
'BBB_3.jpg',
'CCC_1.jpg'
);
$names = array('AAA_', 'BBB_', 'CCC_', 'DDD_');
…这个函数:
function filter($name){
global $carousel;
$found_first = false;
foreach ($carousel as $image) {
if(strpos($image, $name) === 0){
$first = !$found_first ? ' first' : ''; // assign class if it's the first
$found_first = true; // change the variable after the first loop
$html = "<div class='box%s'><img src='imgs/%s'/></div>" . PHP_EOL;
echo sprintf($html, $first, $image); // output formatted string
}
}
}
…这个循环:
foreach($names as $name) {
filter($name);
}
…得到如下输出:
<div class='box first'><img src='imgs/AAA_1.jpg'/></div>
<div class='box'><img src='imgs/AAA_2.jpg'/></div>
<div class='box'><img src='imgs/AAA_3.jpg'/></div>
<div class='box first'><img src='imgs/BBB_1.jpg'/></div>
<div class='box'><img src='imgs/BBB_2.jpg'/></div>
<div class='box'><img src='imgs/BBB_3.jpg'/></div>
<div class='box first'><img src='imgs/CCC_1.jpg'/></div>