как получить два значения, повторяющихся для использования в качестве класса - PullRequest
1 голос
/ 26 марта 2012

Мой код такой:

foreach($array as $key => $value) {
"<div class="myclass"><a href=$key>$value</a></div>"
}

здесь я хочу, чтобы класс повторил два значения, например

<div class="class1">
    <a href='link1'>text1</a>
</div>
<div class="class2">
    <a href='link2'>text2</a>
</div>
<div class="class1">
    <a href='link3'>text3</a>
</div>
<div class="class2">
    <a href='link4'>text4</a>
</div>

Я думаю, вы можете понять, что я хочу, из приведенного выше кода.Я не могу придумать, как это сделать.Я не хочу использовать один и тот же класс на всех div.У кого-нибудь есть идеи?

Спасибо

Ответы [ 4 ]

1 голос
/ 26 марта 2012

Я бы вел подсчет переменных, которые отслеживают номер строки. Вы можете использовать ключ массива, но это будет предполагать, что они числовые, последовательные и начинаются с 0. Когда вы перебираете каждую строку, вы увеличиваете счетчик на единицу и проверяете, является ли он нечетным или четным.

Вот краткий пример:

<?php

$c = 0;
foreach ($array as $key => $value) {
    echo '<div class="' . (($c++ %2 == 1)? 'class1': 'class2') . '">' . $value . '</div>';
}
0 голосов
/ 26 марта 2012
$classes=array("class1", "class2");
$i=0;
foreach($array as $key => $value) {
  echo "<div class='".$classes[$i]."'><a href=$key>$value</a></div>"
  $i++;
  $i=$i%2;
}

См. ссылку , если вы не знаете этот оператор%.

0 голосов
/ 26 марта 2012
<?php
   $i = 0;
   foreach( $array as $key => $value ) :
?>
     <div class = "<?php echo ($i++ %2 == 0) ? "class1" : "class2";?>">
        <a href="<?php echo $key;?>"> <?php echo $value;?></a>
     </div>  
<?php endforeach;?>
0 голосов
/ 26 марта 2012
$iLoop = 0;
foreach($array as $key => $value) {
   $val = ($iLoop % 2) + 1;
   echo "<div class=\"myclass{$val}\"><a href=\"$key\">$value</a></div>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...