Mijn navigatie bestaat uit list items verdeeld over 4 kolommen en van links naar rechts.
Stel ik heb een array die ik vervolgens wegschrijf:
$arr = array('AAA', 'BBB', 'CCC', 'DDD', 'EEE', 'FFF','GGG','HHH','III','KKK');
echo '<ul>';
foreach ($arr as $key => $value) {
if (($key % 4) == 0) {
echo '<li class="green">' . $value.'</li>';
}
}
echo '</ul>';
echo '<ul>';
foreach ($arr as $key => $value) {
if (($key % 4) == 1) {
echo '<li class="blue">' . $value.'</li>';
}
}
echo '</ul>';
echo '<ul>';
foreach ($arr as $key => $value) {
if (($key % 4) == 2) {
echo '<li class="red">' . $value.'</li>';
}
}
echo '</ul>';
echo '<ul>';
foreach ($arr as $key => $value) {
if (($key % 4) == 3) {
echo '<li class="black">' . $value.'</li>';
}
}
echo '</ul>';
Het resultaat is wat ik wil, echter ik heb het idee dat dit veel gemakkelijker kan?
resultaat:
<ul>
<li class="green">AAA</li>
<li class="green">EEE</li>
<li class="green">III</li>
</ul>
<ul>
<li class="blue">BBB</li>
<li class="blue">FFF</li>
<li class="blue">KKK</li>
</ul>
<ul>
<li class="red">CCC</li>
<li class="red">GGG</li>
</ul>
<ul>
<li class="black">DDD</li>
<li class="black">HHH</li>
</ul>
[size=xsmall]Toevoeging op 29/06/2015 22:24:28:[/size]
Ik geef dus (zoals je ziet ;-) ) 4 x zelfde lus met 4 verschillende if statements, kan dit in 1 keer?
[size=xsmall]Toevoeging op 29/06/2015 22:55:58:[/size]
waarschijnlijk zelf het antwoord gevonden:
<?php
$arr = array('AAA', 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG', 'HHH', 'III', 'KKK');
$columns = 4;
for ($i = 0; $i <= 3; $i++) {
echo '<ul>';
foreach ($arr as $key => $value) {
if (($key % $columns) == $i) {
echo '<li>' . $value . '</li>';
}
}
echo '</ul>';
}
?>