我有一个 URL,我将参数传递到其中
示例/success.php?id=link1
我用php来抓取它
$slide = ($_GET["id"]);
然后是一个 if 语句来根据参数显示内容
<?php if($slide == 'link1') { ?>
//content
} ?>
只需要知道在 PHP 中怎么说,如果 url 参数存在抓住它并执行 if 函数,如果它不存在则什么都不做。
多谢你们
我有一个 URL,我将参数传递到其中
示例/success.php?id=link1
我用php来抓取它
$slide = ($_GET["id"]);
然后是一个 if 语句来根据参数显示内容
<?php if($slide == 'link1') { ?>
//content
} ?>
只需要知道在 PHP 中怎么说,如果 url 参数存在抓住它并执行 if 函数,如果它不存在则什么都不做。
多谢你们
使用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"]) : '';
if(isset($_GET['id']))
{
// Do something
}
你想要这样的东西
这是用于检查 URL 中是否存在“id”参数的 PHP 代码:
if(isset($_GET['id']))
{
$slide = $_GET['id'] // Getting parameter value inside PHP variable
}
我希望它会帮助你。
目前尚不清楚您在谈论什么功能,以及您是否需要 2 个或一个单独的分支。假设一个:
将您的第一行更改为
$slide = '';
if (isset($_GET["id"]))
{
$slide = $_GET["id"];
}
我知道这是一个老问题,但是从 php7.0 开始,您可以使用null 合并运算符(另一个资源)。
它类似于三元运算符,但在左侧操作数上的行为类似于 isset,而不是仅使用其布尔值。
$slide = $_GET["id"] ?? 'fallback';
因此,如果$_GET["id"]
设置了,则返回该值。如果不是,则返回回退。我发现这对 $_POST、$_GET 或任何传递的参数等非常有用
$slide = $_GET["id"] ?? '';
if (trim($slide) == 'link1') ...
为什么不把它简化为 if($_GET['id'])。它将根据参数的存在状态返回 true 或 false。