Php 将多个参数传递给函数
我创建了以下函数,如果将所选日期字符串传递给它,它将简单地回显“active”:Php 将多个参数传递给函数,php,Php,我创建了以下函数,如果将所选日期字符串传递给它,它将简单地回显“active”: function active_day($theday) { if (date('D') == $theday) { echo 'active'; } } 如果我传入一个参数,该函数就可以正常工作 active_day( 'Sun' ); 但是,我想传入两个参数,例如 active_day( 'Sun', 'Mon' ); 这在周日很有效,但由于某些原因它忽略了周一 知道我做错
function active_day($theday) {
if (date('D') == $theday) {
echo 'active';
}
}
如果我传入一个参数,该函数就可以正常工作
active_day( 'Sun' );
但是,我想传入两个参数,例如
active_day( 'Sun', 'Mon' );
这在周日很有效,但由于某些原因它忽略了周一
知道我做错了什么吗?您需要更改函数声明本身
function active_day($theday,$anotherday)
由于您已将函数定义为接受单个参数,因此它只接受单个参数
其他选择
在本例中,可以将参数作为数组传递给函数
function active_day($newarr) {
// if (date('D') == $theday) {
// echo 'active';
// }
echo $newarr[0];//Sun
echo $newarr[1];//Mon
}
$arr= array('Sun','Mon');
active_day($arr);
您正在寻找PHP函数获取参数:
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
?>
将输出:
参数数量:3第二个论点是:2
参数0是:1
论点1是:2
参数2是:3
您将函数声明为仅接受一个参数,然后检查该参数。如果您打算传递多个参数,则将其声明为:
function active_day($theday, $secondday);
然后,您可以在两天内致电:
active_day( 'Sun', 'Mon' );
如果您事先不知道要传递多少个参数,可以使用func\u get\u args
函数并相应地更改函数:
function active_day() {
$days = func_get_args();
foreach($days as $day) {
echo "$day - ";
if (date('D') == $day) {
echo 'active';
}
echo "\n";
}
}
必须阅读:-1对于func\u get\u args文档的盲拷贝粘贴,您是对的,但对使用函数argsNo的完美解释不是完美的解释。一个完美的解释是,如果您实际更改了示例代码以匹配问题。