Lopar
@Lopar
системный администратор

Почему функция работает не так, как задумано?

Есть вырезка из кода:
<?php
function l($link='link0')
{
    $get = urldecode(filter_input(INPUT_SERVER, 'QUERY_STRING'));
    if ($link != $get) echo ' <a class="head" href="?'.$link.'">['.$link.']</a>';
}?>

Some Links:<?= l(), l('link1'), l('link2'), l('link3') ?>

Чего я хочу добиться: Чтобы параметр, который я передал в ссылку пропадал из списка, когда я его выбираю.
Что я имею: Не пропадает.

Работало. Потом как-то незаметно само перестало работать.
Из явных изменений, которые произошли с хостом: php5.6 >> php 7.2.21.

Поверхностно просмотрел ченжлоги, не заметил явных изменений. Что я упускаю?
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
Lopar
@Lopar Автор вопроса
системный администратор
Чтобы место не пустовало.
Тогдашняя задача в процессе была решена так:
$opt = $_SERVER['QUERY_STRING'] ?? null;
if ($opt == 'all') {
    $opt = null;
}
function l($link = 'all'): string
{
    global $opt;
    return $link != $opt ? " <a class='head' href='?$link'>[$link]</a>" : '';
}

echo 'Some Links:'  . l() . l('link1') . l('link2') . l('link3');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы