gpt4 book ai didi

php - 如何使用 foreach 循环并在固定位置设置小的变化?

转载 作者:行者123 更新时间:2023-11-29 06:09:22 30 4
gpt4 key购买 nike

我已经在这个论坛上搜索了很长时间,但找不到解决这个问题的方法。

我需要为 12 个元素创建一个 foreach 循环,但其中 3 个元素具有不同的类。

这是我到目前为止所做的:

$result = $db->query("SELECT `views` FROM `views` WHERE `views` = `id` AND DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= date(`views`.`time`) ORDER BY `id` DESC LIMIT 12");

while($row = $result->fetch_assoc()) {
$users[] = $row;
}

$output .= '<ul>';
foreach($rows as $row) {
$output .= '<li class="grid__item"></li>';
}
$output .= '<ul>';

return $output;

如何在第 2、8 和 12 个位置向 li 对象添加不同的类?

要输出这样的东西:

<ul>                    
<li class="grid__item"></li>
<li class="grid__item grid__item--deco grid__item--deco-1"></li>
<li class="grid__item"></li>
<li class="grid__item"></li>
<li class="grid__item"></li>
<li class="grid__item"></li>
<li class="grid__item"></li>
<li class="grid__item grid__item--deco grid__item--deco-2"></li>
<li class="grid__item"></li>
<li class="grid__item"></li>
<li class="grid__item"></li>
<li class="grid__item grid__item--deco grid__item--deco-3"></li>
</ul>

最佳答案

只需使用foreachkey,然后在循环 block 中设置附加类。只需添加一个 if 条件:

$i = 1;
$class_keys = array(2, 8, 12);
$output = '<ul>';
foreach($rows as $key => $row) {
// ^ use this
$default_class = 'grid__item';
if(in_array($key + 1, $class_keys)) {
$default_class .= " grid__item--deco grid__item--deco-{$i}";
$i++;
}
$output .= "<li class=\"$default_class\"></li>";

}
$output .= '<ul>';

关于php - 如何使用 foreach 循环并在固定位置设置小的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281706/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com