Forum Moderators: coopster
<?php
$challenge_links = array(
'Basic 1' => 'basic1',
'Basic 2' => 'basic2',
'Basic 3' => 'basic3',
'Basic 4' => 'basic4',
'Basic 5' => 'basic5',
'hr' => '',
'Medium 1' => 'medium1',
'Medium 2' => 'medium2',
'Medium 3' => 'medium3',
'Medium 4' => 'medium4',
'Medium 5' => 'medium5',
'hr' => '',
'Advanced 1' => 'advanced1',
'Advanced 2' => 'advanced2',
'Advanced 3' => 'advanced3',
'Advanced 4' => 'advanced4',
'Advanced 5' => 'advanced5'
);
foreach ($challenge_links as $challenge_name => $challenge_url) {
if ($challenge_name == "hr") {
echo "<hr>\n";
}
else {
echo "<a href='challenges/".$challenge_url."/'>".$challenge_name."</a><br>\n";
}
}
?>
You can`t have two array keys named the same. You can change it to:
$challenge_links = array(
'Basic 1' => 'basic1',
'Basic 2' => 'basic2',
'Basic 3' => 'basic3',
'Basic 4' => 'basic4',
'Basic 5' => 'basic5',
'hr' => '',
'Medium 1' => 'medium1',
'Medium 2' => 'medium2',
'Medium 3' => 'medium3',
'Medium 4' => 'medium4',
'Medium 5' => 'medium5',
'hr2' => '',
'Advanced 1' => 'advanced1',
'Advanced 2' => 'advanced2',
'Advanced 3' => 'advanced3',
'Advanced 4' => 'advanced4',
'Advanced 5' => 'advanced5'
);
foreach ($challenge_links as $challenge_name => $challenge_url) {
if ($challenge_name == "hr" ¦¦ $challenge_name == "hr2") {
echo "<hr>\n";
}
else {
echo "<a href='challenges/".$challenge_url."/'>".$challenge_name."</a><br>\n";
}
}
Make sure you re-type the pipes.
dc
$challenge_links = array(
'Basic 1' => 'basic1',
...
'Basic 5' => 'basic5',
'hr',
'Medium 1' => 'medium1',
...
'Medium 5' => 'medium5',
'hr',
'Advanced 1' => 'advanced1',
...
'Advanced 5' => 'advanced5'
);
foreach ($challenge_links as $challenge_name => $challenge_url) {
if (is_numeric($challenge_name) && $challenge_url == "hr") {
echo "<hr>\n";
} ...
}
which makes use of PHP's arrays being ordered maps to both make the 'hr's stand out syntactically and support as many of them as you care to have.