Позвольте мне сказать, что я не слишком знаком с jquery, поэтому я буду только комментировать ваше использование php.
Во-первых, вам нужно использовать кавычки вокруг строки, например: print("<li><a href=$link_1_url>$link_1_label</a></li>")
Тогда возникает вопрос, почему вы используете такой переключатель, а затем копируете то же самое и добавляетенемного.Вместо этого вы можете легко сделать это следующим образом:
if ($items >= 1)
{
// print line 1
}
if ($items >= 2)
{
// print line 2
}
if ($items >= 3)
{
// print line 3
}
Это позволит вам не копировать одно и то же снова и снова.То же самое можно сделать с переключателем, как показано ниже, но этот код сложнее понять:
$out = "";
switch ($items)
{
case 3:
$out = "line3" . $out;
case 2:
$out = "line2" . $out;
case 1:
$out = "line1" . $out;
print($out);
break;
}
Если вам интересно, как это работает, внимательно посмотрите и имейте в виду, что у меня только одинперерыв заявление.Это просто труднее понять и менее понятно, поэтому просто не рекомендуется.Однако, поскольку единственное, что вы меняете каждый раз, это число, вы можете использовать цикл for, который был создан именно для этой цели:
for ($i = 0; $i < $items; $i++)
{
print("line " . $i);
}
Теперь вы видите, что это намного короче и проще, но очень ясно.
edit: Я упустил одну вещь: длинную строку URL-адресов, которые у вас были там.Когда вы программируете, нужно научиться сохранять аккуратные пробелы, едва ли понятно, что речь идет о функции.Посмотрите на мой и ваш код ... мой читабельный, а ваш - нет, и это все из-за пробела, который я вставил, а вы этого не сделали ... В любом случае, вы, вероятно, используете массив:
function printMenu ($urls)
{
foreach ($urls as $url)
{
print("<a href='" . $url . "'>Link!</a>");
}
}
// Now you can do:
printMenu(array("url1", "url2", "url3"));