我们说我有以下网址:self.navigationController?.navigationBar.isHidden = true
example.php?grab=1,3&something=...
有两个值,如何将其转换为条件if语句。
例如,如果grab
是变量,并且您想要计算count
是否等于count
值中的一个。
grab
答案 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:使用正则表达式
您也可以使用正则表达式来检查匹配。