如何根据 get url 值定义条件
How to define condition based on get url value
当用户点击 "List View" link 然后我想向他们展示 "List View" HTML 当他们点击 "Grid View" 我想显示 "Grid View" HTML。
我已经定义了以下 links 来点击-
<a href="?view=list">List View</a> <br>
<a href="?view=grid">Grid View</a>
然后我用 PHP get 方法定义了以下条件来向用户显示所需的输出-
<?php
if( isset( $_GET['view'] ) == 'list' ){
echo "This is List view";
}else if( isset($_GET['view'] ) == 'grid' ){
echo "This is Grid view";
}
这个条件不成立。如果我将 "view" 更改为 "view_1" 并将 "view_2" 从 URL 更改,那么我的条件也正常。
<?php
if( isset( $_GET['view_1'] ) == 'list' ){
echo "This is List view";
}else if( isset($_GET['view_2'] ) == 'grid' ){
echo "This is Grid view";
}
?>
<br>
<a href="?view_1=list">List View</a> <br>
<a href="?view_2=grid">Grid View</a>
但我不想更改 "view" 键。我只想为 URL 保留相同的键和不同的值来执行条件语句。
可能吗?
isset()
仅检查变量是否存在且不为空,并且 returns 为布尔值 (true/false).
要检查值,首先需要检查它是否存在(isset),然后检查值,像这样::
if (isset($_GET['view']) && $_GET['view'] == 'list') {
// your code here.
}
您可以在此处阅读更多内容:http://php.net/manual/en/function.isset.php
备选
如果你想让你的代码和条件更具可读性,你可以这样做:
// Get the value of $_GET['view'] once, if it exists (pre PHP 7)
$view = isset($_GET['view']) ? $_GET['view'] : null;
// PHP 7.x (new shorter syntax for the above)
$view = $_GET['view'] ?? null;
if ($view == 'list') {
// your code
}
你试过这样吗..
if(isset($_GET['view']))
{
if($_GET['view'] == 'list')
{
//code here
}
elseif ($_GET['view'] == 'grid')
{
//code here
}
}
当用户点击 "List View" link 然后我想向他们展示 "List View" HTML 当他们点击 "Grid View" 我想显示 "Grid View" HTML。 我已经定义了以下 links 来点击-
<a href="?view=list">List View</a> <br>
<a href="?view=grid">Grid View</a>
然后我用 PHP get 方法定义了以下条件来向用户显示所需的输出-
<?php
if( isset( $_GET['view'] ) == 'list' ){
echo "This is List view";
}else if( isset($_GET['view'] ) == 'grid' ){
echo "This is Grid view";
}
这个条件不成立。如果我将 "view" 更改为 "view_1" 并将 "view_2" 从 URL 更改,那么我的条件也正常。
<?php
if( isset( $_GET['view_1'] ) == 'list' ){
echo "This is List view";
}else if( isset($_GET['view_2'] ) == 'grid' ){
echo "This is Grid view";
}
?>
<br>
<a href="?view_1=list">List View</a> <br>
<a href="?view_2=grid">Grid View</a>
但我不想更改 "view" 键。我只想为 URL 保留相同的键和不同的值来执行条件语句。
可能吗?
isset()
仅检查变量是否存在且不为空,并且 returns 为布尔值 (true/false).
要检查值,首先需要检查它是否存在(isset),然后检查值,像这样::
if (isset($_GET['view']) && $_GET['view'] == 'list') {
// your code here.
}
您可以在此处阅读更多内容:http://php.net/manual/en/function.isset.php
备选
如果你想让你的代码和条件更具可读性,你可以这样做:
// Get the value of $_GET['view'] once, if it exists (pre PHP 7)
$view = isset($_GET['view']) ? $_GET['view'] : null;
// PHP 7.x (new shorter syntax for the above)
$view = $_GET['view'] ?? null;
if ($view == 'list') {
// your code
}
你试过这样吗..
if(isset($_GET['view']))
{
if($_GET['view'] == 'list')
{
//code here
}
elseif ($_GET['view'] == 'grid')
{
//code here
}
}