一次可以在函数中使用两个变量吗?

时间:2010-06-30 18:59:48

标签: php

下面的函数check_porn_terms检查变量是否包含非家庭友好的术语,并且确实如此,然后将用户重新定向回主页面。

如下所示,它会检查变量$title是否包含非家庭友好条款。我想对另一个变量$cleanurl执行此检查。我可以用check_porn_terms($title)或类似的东西替换下面的check_porn_terms($title, $cleanurl)吗?如果没有,我该怎么做?

提前致谢,

约翰

if(!check_porn_terms($title))
{

   session_write_close();
   header("Location:http://www.domain.com/index.php");
   exit;

}

3 个答案:

答案 0 :(得分:2)

如果您自己编写函数,请将其重新定义为check_porn_terms()(无参数),然后在函数内部循环func_get_args并检查每个参数是否“干净”。

但是,如果你愿意的话,你可以让它取两个参数。我的观点是,为什么要停在两个?让它采取任何数量的论点。

当你在它的时候,你可以尝试实际阅读页面,并扫描整个页面的脏词。

答案 1 :(得分:2)

您只需要调用该函数两次(与“或”||运算符结合使用)来检查每个变量:

if(!check_porn_terms($title) || !check_porn_terms($cleanurl))
{
    session_write_close();
    header("Location:http://www.domain.com/index.php");
    exit;
}

答案 2 :(得分:0)

如果您想将其他参数传递给check_porn_terms,则需要重新定义该功能

 function check_porn_terms($first_term, $second_term)
 {
     //code to check both terms here
 }

您还可以重写函数以接受参数数组,然后foreach重写它们,或者使用func_get_args()

真的很花哨

您可能想要做的事情,并且可以在不重新定义函数的情况下做,就是调用函数两次

// the || means "or"
if(!check_porn_terms($title) || !check_porn_terms($cleanurl))
{
}