-4

我正在尝试定义一个函数,它将使用 $_POST 中的数组作为参数,但有些东西不起作用。这就是我所拥有的:任何想法为什么不起作用?谢谢。

function variables_set ($Array1, $Array2, $DayOfWeek) {
    if (isset($Array2)) {
        $DayOfWeek=array_unique($Array2); //Remove duplicate values in the array
    } else {
        $DayOfWeek=$Array1;                             
    }
}

variables_set ($_POST['selectM'], $_POST['hiddenM'], $Monday); //Call the function
4

1 回答 1

2

对我来说,使用isset()似乎模棱两可,因为一旦你尝试传递一个未设置的变量,就会抛出一个通知。考虑下面的代码:

function test($a){
    echo '$a is' . (isset($a) ? '' : 'not').' set';
}

echo '$b is' . (isset($b) ? '' : 'not').' set';
test($b); // Notice: Undefined variable: b

另请注意,这与索引相同,就像您的情况一样。


编辑:下面的代码应该是这样的:

function test($a){
    if(!is_null($a)){
        // do something with $a
    }
}

test(isset($_POST['selectM']) ? $_POST['selectM'] : null);
于 2012-10-28T21:20:18.870 回答