我有一个URL,我将参数传递给
示例/ success.php?ID = LINK1
我用php抓住它
$slide = ($_GET["id"]);
然后使用if语句显示基于参数
的内容<?php if($slide == 'link1') { ?>
//content
} ?>
只需要在PHP中知道怎么说,如果url param存在抓住它并执行if函数,如果它不存在则什么都不做。
谢谢大家
答案 0 :(得分:88)
使用isset()
$matchFound = ( isset($_GET["id"]) && trim($_GET["id"]) == 'link1' );
$slide = $matchFound ? trim ($_GET["id"]) : '';
修改强>: 这是为了完整性而添加的。 php中的$_GET是一个保留变量,它是一个关联数组。因此,您也可以使用'array_key_exists(mixed $key, array $array)'。它将返回一个找到或不找到密钥的布尔值。所以,以下也可以。
$matchFound = ( array_key_exists("id", $_GET)) && trim($_GET["id"]) == 'link1' );
$slide = $matchFound ? trim ($_GET["id"]) : '';
答案 1 :(得分:47)
if(isset($_GET['id']))
{
// Do something
}
你想要那样的东西
答案 2 :(得分:3)
目前尚不清楚你在谈论什么功能,以及你是否需要2个独立的分支机构。假设一个:
将第一行更改为
$slide = '';
if (isset($_GET["id"]))
{
$slide = $_GET["id"];
}
答案 3 :(得分:2)
这是用于检查&#39; id&#39;的PHP代码。参数是否存在于URL中:
if(isset($_GET['id']))
{
$slide = $_GET['id'] // Getting parameter value inside PHP variable
}
我希望它会对你有所帮助。
答案 4 :(得分:0)
为什么不将它简化为if($ _ GET [&#39; id&#39;])。它将根据参数的存在状态返回true或false。
答案 5 :(得分:0)
我知道这是一个老问题,但从 php7.0 开始,您可以使用 null coalescing operator (another resource)。
<块引用>它类似于三元运算符,但在左侧操作数上的行为类似于 isset,而不仅仅是使用其布尔值。
$slide = $_GET["id"] ?? 'fallback';
所以如果设置了 $_GET["id"]
,它会返回值。如果不是,则返回回退。我发现这对 $_POST、$_GET 或任何传递的参数等非常有帮助
$slide = $_GET["id"] ?? '';
if (trim($slide) == 'link1') ...