Для начала кажется, что вы хотите перенаправить на одну и ту же страницу всякий раз, когда пользователь пытается отписаться, независимо от значения $site
, поэтому вы можете полностью исключить эту часть изуравнение.
Здесь я бы порекомендовал создать ассоциативный массив, который отображает каждый индекс $site
на соответствующий сайт.Затем вы можете просто установить $url
на основе индекса этого нового вспомогательного массива следующим образом:
$site = 1; // Set the site as an integer
$theAction = 'subscribe'; // As long as it is not 'unsubscribe' the `else` will trigger
$mappings = array("1"=>"https://test1.com/?na=ajaxsub",
"2"=>"https://test2.com/?na=ajaxsub",
"3"=>"https://test3.com/?na=ajaxsub",
"4"=>"https://test4.com/?na=ajaxsub");
if ($theAction == 'unsubscribe') {
$url = "https://test5.com/unsubscribe.php";
}
else {
$url = $mappings[$site];
}
echo $url; // https://test1.com/?na=ajaxsub
Это можно увидеть работающим здесь .
И вы можете даже сократить условное выражение, используя троичную форму, если пожелаете:
$theAction == 'unsubscribe' ? $url = "https://test5.com/unsubscribe.php" : $url = $mappings[$site];
Что можно увидеть работающим здесь .