Так что в основном у меня есть это:
if ($link == "badsimXX1.7.8.9&launchtype=medium") {
$linky=("launchtype=medium");
}
if ($link == "badsimXX&1.8.5.2launchtype=large") {
$linky=("launchtype=large");
}
if ($link == "badsimXX&1.9.2.4launchtype=small") {
$linky=("launchtype=small");
}
if ($link == "badsimXX&1.2.5.2launchtype=tiny") {
$linky=("launchtype=tiny");
}
if ($link == "badsimXX&1.6.4.5launchtype=itsy") {
$linky=("launchtype=itsy");
}
?>
И позже я использовал это для перенаправления на страницу, что привело к циклу. Поэтому я попытался решить это с помощью переключателя:
switch($linky){
case 1:
$link='badsimXX1.7.8.9&launchtype=medium';
break;
case 2:
$link='badsimXX&1.8.5.2launchtype=large';
break;
case 3:
$link='badsimXX&1.9.2.4launchtype=small';
}
Но это не сработало. Так что либо я не могу решить это так, либо что-то не так с моим кодом.
Просто поместите ваши строки в ассоциативный массив и проверьте, существует ли ключ, и если да, присвойте соответствующее значение переменной или, если нет, используйте значение по умолчанию. Как это:
$check = ["badsimXX1.7.8.9&launchtype=medium" => "launchtype=medium",
"badsimXX&1.8.5.2launchtype=large" => "launchtype=large",
"badsimXX&1.9.2.4launchtype=small" => "launchtype=small",
"badsimXX&1.2.5.2launchtype=tiny" => "launchtype=tiny",
"badsimXX&1.6.4.5launchtype=itsy" => "launchtype=itsy"];
if(isset($check[$link]))
$linky = $check[$link];
else
$linky = "default";
Если вы хотите исправить свой оператор switch:
1. Вы используете неверную переменную для оператора switch
Так что поменяйте:
switch($linky) {
//^ See here
чтобы:
switch($link) {
//^^ See here
2. Вы должны указать свои значения в выписке по делу.
Возьмите значения из ваших условий if и поместите их в выражения case, например,
case "badsimXX1.7.8.9&launchtype=medium":
3. Присвойте соответствующее значение правильной переменной
Затем присвойте значения, как в ваших операторах if, правильной переменной:
$linky = "launchtype=medium";
//^ See here
Других решений пока нет …