如何将多个参数转换为PHP条件if语句

时间:2016-09-07 02:08:30

标签: php

我们说我有以下网址:self.navigationController?.navigationBar.isHidden = true

example.php?grab=1,3&something=...有两个值,如何将其转换为条件if语句。 例如,如果grab是变量,并且您想要计算count是否等于count值中的一个。

grab

2 个答案:

答案 0 :(得分:2)

如果它总是,粘合值,只需explode,它们会将它们变成array。然后只需使用驻留阵列函数进行检查。在此示例中,in_array

if(!empty($_GET['grab'])) {
    $grab = $_GET["grab"];
    $count = 4;
    $pieces = explode(',', $grab);
    if(in_array($count, $pieces)) {
        // do something here if found
    }
}

旁注:如果你试图将你的网址设计成这样:

example.php?grab[]=1&grab[]=3&something

你根本不需要爆炸它。您可以获取值,并直接使用in_array

上面的例子grab已经将它返回一个数组:

if(!empty($_GET['grab'])) {
    $grab = $_GET["grab"];
    $count = 4;
    if(in_array($count, $grab)) {
        // do something here if found
    }
}

答案 1 :(得分:0)

方法#1:重新格式化URL并使用PHP in_array()

为什么不将您的网址重新格式化为:example.php?grab[]=1&grab[]=3&something=...会自动将grab值作为数组返回给PHP?

然后执行以下操作:

if(isset($_GET['grab']) && in_array(4, $_GET['grab'])) {
    // do something
}

方法#2:将字符串拆分为数组并使用PHP in_array()

如果您不想重新格式化您的网址,只需使用php的爆炸功能将字符串拆分为数组并检查是否存在值,例如:

if(isset($_GET['grab'])) {
    $grab_array = explode(",", $_GET['grab'])
    if(in_array(4, $grab_array)) {
        // do something
    }
}

方法#3:使用正则表达式

您也可以使用正则表达式来检查匹配。