首页 > 解决方案 > PHP If, Else 变量设置不正确

问题描述

<?php
$campaign = $_GET['campaign'];
$straightlink = "https://link1";
$sublink = "https://link2";
if ($campaign = "1234abc"){
 $link = $sublink;}
else { $link = $straightlink;}
?>

我正在用 echo 测试这段代码,echo $link输出始终是 link2

当活动与字符串匹配时,我需要 link2 来回显,而在任何其他情况下,我需要 link1 出现。

标签: php

解决方案


你需要用一个true陈述或一个truthy陈述来量化。你设置的东西等于 ===vs ==vs=

=      设置一个变量“等于”
==    Truthy -- 1 和 '1' 被视为“等于”
===  Truth -- 1 和 '1' 并且不相同 -- 将返回 false

另外值得注意的是,elseif当您有第二个查询时,您需要一个 - 我创建了一个假查询,以便您可以查看语法。 elseif( $link == 'abcdefghi')

<?php
    $campaign = $_GET['campaign'];
    $straightlink = "https://link1";
    $sublink = "https://link2";
    
    if ($campaign === "1234abc"){
        $link = $sublink;
    }
    elseif( $link == 'abcdefghi') { 
        // Do something 
    }else{
        $link = $straightlink
    }

推荐阅读