如何使用逻辑or通过链接在单个php变量中传递多个值
我在php中使用了一个开关案例,试图在一个变量中访问多个值 请参阅下面的代码:如何使用逻辑or通过链接在单个php变量中传递多个值,php,variables,url,Php,Variables,Url,我在php中使用了一个开关案例,试图在一个变量中访问多个值 请参阅下面的代码: switch($_GET['case']) { case 1: if(isset[$_GET['a']]){ echo $x;} case 2: echo $y; case 3: if(isset[$_GET['b']]){ echo $z;} } 当我点击这个链接时: <a href=?case=1OR3>link</a> 然后我想访问这两个案例: 1.如果设置了a,则它将回显
switch($_GET['case'])
{
case 1:
if(isset[$_GET['a']]){
echo $x;}
case 2:
echo $y;
case 3:
if(isset[$_GET['b']]){
echo $z;}
}
当我点击这个链接时:
<a href=?case=1OR3>link</a>
然后我想访问这两个案例:
1.如果设置了a,则它将回显$x。
2.或者,如果设置了b,则它将回显$z
如何做到这一点任何想法
更新:
switch($_GET['case'])
{
case 0;
//only search active
if(isset($_GET['s1'])){
$radio=$_SESSION['r1'];
$construct ="$radio LIKE '%$search_each%'";
$getq2_= "$radio LIKE '%$search_each%'";
break;
}
case 1;
//search and pub active
if(isset($_GET['px'])){
echo "<script> alert('case1'); </script>";
$construct = "".$_SESSION['r1']." LIKE '%$search_each%' AND Publisher LIKE '%".$_GET['pub']."%'";
$getq2_= $construct;
break;
}
case 2;
//search and sub active
if(isset($_GET['sx'])){
echo "<script> alert('case2'); </script>";
$construct = "".$_SESSION['r1']." LIKE '%$search_each%' AND Subject LIKE '%".$_GET['sub']."%' AND Publisher LIKE '%".$_SESSION['pub']."%'";
$getq2_= "".$_SESSION['r1']." LIKE '%$search_each%' AND Subject LIKE '%".$_SESSION['sub']."%' AND Publisher LIKE '%".$_GET['pub']."%'";
$z=array("Odontology","Oral Pathology","Orthodontology","Oral and Maxillofacial Surgery ","Prosthodontology","Periodontology","Endodontology","Oral and Maxillofacial Radiology","Esthetic Dentistry","Pediatric Dentistry","Public Health Dentistry");
if($_GET['sub']==true)
{
$getq3_[$_GET['sub']] = "(Subject LIKE '%".$_GET['sub']."%' AND $radio LIKE '%$search_each%' AND Publisher LIKE '%".$_GET['pub']."%') ";
}
break;
}
case 3;
//only alphabets active
if(isset($_SESSION['hx']) && !empty($_SESSION['hx']))
{echo "<script> alert('case3'); </script>";
$radio=$_SESSION['r1'];
$construct ="$radio LIKE '$search_each%'";
$getq2_= "$radio LIKE '$search_each%'";
break;
}
case 4;
//alphabets and pub active
if(isset($_GET['px']) && isset($_SESSION['hx']) && !empty($_SESSION['hx'])){
echo "<script> alert('case4'); </script>";
$construct = "".$_SESSION['r1']." LIKE '$search_each%' AND Publisher LIKE '%".$_GET['pub']."%'";
$getq2_= $construct;
break;
}
case 5;
//alphabets and sub active
if(isset($_GET['sx']) && isset($_SESSION['hx']) && !empty($_SESSION['hx']))
{
echo "<script> alert('case5'); </script>";
$construct = "".$_SESSION['r1']." LIKE '$search_each%' AND Subject LIKE '%".$_GET['sub']."%' AND Publisher LIKE '%".$_SESSION['pub']."%'";
$getq2_= "".$_SESSION['r1']." LIKE '$search_each%' AND Subject LIKE '%".$_SESSION['sub']."%' AND Publisher LIKE '%".$_GET['pub']."%'";
break;
}
}
开关($\u GET['case']))
{
案例0;
//仅搜索活动
如果(isset($\u GET['s1'])){
$radio=$\会话['r1'];
$construct=“$radio-LIKE”%$search_each%”;
$getq2\=“$radio-LIKE“%$search\$each%””;
打破
}
案例1;
//搜索和发布活动
如果(isset($_GET['px'])){
回显“警报('case1');”;
$construct=”“.$\u会话['r1']”类似“%$search\u each%”,发布服务器类似“%”,$\u GET['pub'].“%”;
$getq2_U8;=$construct;
打破
}
案例2;
//搜索和子活动
如果(isset($_GET['sx'])){
回声“警报('case2');”;
$construct=”“.$\u SESSION['r1']”像“%$search\u each%”一样,Subject像“%”“$\u GET['sub']”一样,“%”和Publisher像“%”$\u SESSION['pub'].“%”一样;
$getq2\=“”.$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$z=数组(“牙科学”、“口腔病理学”、“正畸学”、“口腔颌面外科学”、“修复学”、“牙周学”、“牙髓学”、“口腔颌面放射学”、“美学牙科学”、“儿科牙科学”、“公共卫生牙科学”);
如果($\u GET['sub']==true)
{
$getq3\[$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
}
打破
}
案例3;
//只有字母表处于活动状态
if(设置($_会话['hx'])和&!空($_会话['hx']))
{echo“警报('case3');”;
$radio=$\会话['r1'];
$construct=“$radio-LIKE'$search_-each%'”;
$getq2\=“$radio-LIKE'$search\$each%'”;
打破
}
案例4;
//字母表和pub处于活动状态
if(isset($\u GET['px'])和&isset($\u SESSION['hx'])和&!empty($\u SESSION['hx'])){
回声“警报('case4');”;
$construct=“”.$\u会话['r1']”类似“$search\u each%”和发布者类似“%”“$\u GET['pub']”.“%”;
$getq2_U8;=$construct;
打破
}
案例5;
//字母表和子活动
if(isset($\u GET['sx'])和&isset($\u SESSION['hx'])和&!empty($\u SESSION['hx']))
{
回声“警报('case5');”;
$construct=”“.$\u SESSION['r1']”类似“$search\u each%”,主题类似“%”,$\u GET['sub']”类似“%”,发布者类似“%”,$\u SESSION['pub'].“%”;
$getq2\=”“.$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
打破
}
}
这就是为什么我没有为他们使用if-else,它会非常复杂,所以可能吗?我认为你应该打开
$\u-GET['a']
或$\u-GET['b']
,然后案例是true
和false
,例如开关($\u-GET['a']){case-true:echo$x;break;case-false:echo$z;break;}
您实际想做的事情您应该在这里使用if/else
语句,而不是switch/case
。switch不是执行此任务的好选择,使用一组if elseif
条件。事实上,我在6种情况下使用switch前三种情况下一种情况,后三种情况下另一种情况下,即a和b,它们的代码非常庞大,因此不能使用if elseif所有情况下,switch case会更好,所以这是我发现的唯一实现它的方法。。。