我想使用if语句测试GET变量的值。这是我的代码:
if(isset($_GET["v"]) == "test1") {
echo 'It worked: test1 loaded';
}
if(isset($_GET["v"]) == "test2") {
echo 'It worked: test2 loaded';
}
我的网址是https://www.example.com/video?v=test1
我希望能够根据网址中的信息更改页面上加载的内容。类似于YouTube视频的全部内容相同"观看"文件,但有一个$ _Get查询后,定义要加载的视频: www.youtube.com/watch?v=mNZLhuW8vk
但它没有用,所以我假设我的if语句搞砸了。
答案 0 :(得分:5)
将你的条件分解为两个单独的条件,因为你现在拥有的条件将始终被视为已设置。
以下解释为:if set且等于:
即:
if(isset($_GET["v"]) && $_GET["v"] == "x")
“x”是您正在寻找的代表值。
答案 1 :(得分:1)
isset()
返回不等于“test1”的true
或false
,以获得评估$_GET['v']
的实际值所需的行为,如下所示:
if(isset($_GET["v"]) && $_GET['v'] == "test1") {
echo 'It worked: test1 loaded';
}
if(isset($_GET["v"]) && $_GET['v'] == "test2") {
echo 'It worked: test2 loaded';
}
答案 2 :(得分:0)
if(isset($_GET["v"]) && $_GET['v'] == "test1") {
echo 'It worked: test1 loaded';
}
else if(isset($_GET["v"]) && $_GET['v'] == "test2") {
echo 'It worked: test2 loaded';
}
当选项太多时使用开关
if(isset($_GET["v"]))
{
switch($_GET["v"])
{
case "test1":
echo 'It worked: test1 loaded';
break;
case "test2":
echo 'It worked: test2 loaded';
default:
echo 'Not Recognized';
break;
}
}
if(isset($_GET["v"]) == "test1")
你的表达式是错误的,因为isset()
返回一个布尔值,后来你正在测试一个字符串
if(bool == string)
始终为假