如何在php中执行具有多个条件的公共代码

时间:2015-12-14 05:31:40

标签: php url if-statement

我试图给出两个或更多条件和条件我试图用相同的变量名存储不同的不同值,并且通过使用该变量我应该执行剩余操作(这个源代码对于每个条件是通用的)。

来自两个或多个条件的方法一次只有一个条件为真,然后将值存储在变量中(变量值可能不同,但变量名称相同)。

然后我使用这个变量值执行剩余的代码。

例如,请参阅以下代码以了解我真正想要的内容。



<?php
$url=$_SERVER['REQUEST_URI'];
$a="http://www.abcd.com";
$b="http://www.abcd.com?pm";
$c="http://www.abcd.com?cm";

if($url==$a)
{
	$deeplink=1234;
	$mer="hello";
}
if($url==$b)
{
	$deeplink=9090;
	$mer="hru";
}
if($url==$c)
{
	$deeplink="xyz";
	$mer="hru";
}
Remaining code by using $deeplink and $mer variables
(this remainig code is common for all condition but it will take 
$deeplink and $mer value at a time and execute this code)
?>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

当您想要将一个变量(或表达式)与许多不同的值进行比较时,您可以而且应该使用switch语句。

<?php
$url=$_SERVER['REQUEST_URI'];
$a="http://www.abcd.com";
$b="http://www.abcd.com?pm";
$c="http://www.abcd.com?cm";

switch($url){
  case $a:
    $deeplink=1234;
    $mer="hello";
    break;
  case $b:
    $deeplink=9090;
    $mer="hru";
    break;
  case $c:
    $deeplink="xyz";
    $mer="hru";
    break;       
}

Remaining code by using $deeplink and $mer variables
(this remainig code is common for all condition but it will take 
$deeplink and $mer value at a time and execute this code)
?>

答案 1 :(得分:1)

在此处查看有关php switch - http://php.net/manual/en/control-structures.switch.php

的文档

将切换$url中的两个字与每个case值进行比较,例如$url == "http://www.abcd.com"并触发case阻止内容直到break;

switch ($url) {
    case "http://www.abcd.com":
        $deeplink=1234;
        $mer="hello";
    break;
    case "http://www.abcd.com":
        $deeplink=9090;
        $mer="hru";
    break;
    /*... other conditions if you need more */
    default: // <- if no match found your switch will come to default case
        $deeplink=false;
        $mer="";
}

答案 2 :(得分:0)

您也可以使用elseif声明。

像这样:

if($url==$a)
{
    $deeplink=1234;
    $mer="hello";
}
elseif($url==$b)
{
    $deeplink=9090;
    $mer="hru";
}
elseif($url==$c)
{
    $deeplink="xyz";
    $mer="hru";
}

使用$ deeplink和$ mer变量保留代码(剩下的代码对于所有条件都是通用的,但一次只需要$deeplink$mer值并执行此代码。)

PHP elseif statement manual