我有这个PHP代码:
$count = 8;
echo '<div style="background-color:green">';
for($i=1; $i<=$count; $i++) {
echo $i;
if($i%2 == 0) {
echo '</div><div style="background-color:green">';
}
}
echo '</div>';
这样做的目的是将数字包装在每2个绿色背景颜色的div中。我想在代码片段中制作类似的内容
<div style="background-color:green">12</div>
<div style="background-color:yellow">34</div>
<div style="background-color:green">56</div>
<div style="background-color:yellow">78</div>
我怎么能在PHP中这样做?请帮忙。在此先感谢=)
答案 0 :(得分:1)
你可以做到这样的效果:
// your file name // query string
echo "{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}";
甚至更简单直接:
<?php
$count = 8;
$colorMatrix = ['odd'=>'green', 'even'=>'yellow'];
for($i=1; $i<=$count; $i++) {
$oddEven = ($i%2) ? "odd" : "even";
echo "<div style='background-color:{$colorMatrix[$oddEven]}'>{$i}</div>";
}
答案 1 :(得分:1)
要匹配您的代码段,请从12开始,每次迭代增加22。为我的粉丝改为DRY。
<?php
$start = 12;
$end = 78;
for ($i=$start; $i<=$end; $i=$i+22) {
echo '<div style="background-color:'.($i%4 == 0 ? 'green' : 'yellow').'">'.$i.'</div>';
}
结果:
<div style="background-color:green">12</div>
<div style="background-color:yellow">34</div>
<div style="background-color:green">56</div>
<div style="background-color:yellow">78</div>
使用带有foreach
的{{1}}:
range()
答案 2 :(得分:1)
您可以使用if else条件执行此操作。假设$ i是奇数,那么颜色为黄色,然后是其他绿色。我添加了一些选项,可以给你相同的结果。
选项1。
<?php
$count = 8;
for($i=1; $i<=$count; $i++) {
$color = $i%2 == 0 ? 'green' : 'yellow';
echo '<div style="background-color:'.$color.'">'.$i.'</div>';
}
选项2。
<?php
$count = 8;
for($i=1; $i<=$count; $i++) {
if ($i%2 == 0) {
$color = 'green';
} else {
$color = 'yellow';
}
echo '<div style="background-color:'.$color.'">'.$i.'</div>';
}
选项3。
<?php
$count = 8;
for($i=1; $i<=$count; $i++) {
$color = 'yellow';
if ($i%2 == 0) {
$color = 'green';
}
echo '<div style="background-color:'.$color.'">'.$i.'</div>';
}
答案 3 :(得分:0)
也许这个?
$count = 8;
for($i=1; $i<=$count; $i++) {
if($i%2 == 0) {
echo '</div><div style="background-color:green">'.$i;
}else{
echo '<div style="background-color:yellow">'.$i;
}
echo '</div>'
}