我创建了一个php函数,我想清除/重置函数的参数。
例如我在index.php中声明了两次这个函数:
grid_init($type='portfolio',$postNb=4,$rowNb=2);
grid_init($type='post',$postNb,$rowNb);
function grid_init($type,$postNb,$rowNb) {
?>
<div class="container" data-type="<?php echo $type; ?>" data-postNb="<?php echo $rowNb; ?>" data-rowNb="<?php echo $rowNb; ?>">
some stuff.....
</div>
<?php
}
如果我没有在第二个函数中指定我的参数(在上面的例子$postNb $rowNb
中),这些变量将采用前一个函数($postNb=4,$rowNb=2
)中声明的前一个参数的值。 ..
如何在同一文件中声明的每个函数之间重置/清除函数中的参数?
答案 0 :(得分:1)
要使函数具有默认参数,它就像:
function grid_init($type, $postNb = 2, $rowNb = 4){
echo "<div class='container' data-type='$type' data-postNb='$rowNb' data-rowNb='$rowNb'>".
"some stuff.....".
'</div>';
}
执行如下:
grid_init('whatever'); // will assume $postNb = 2 and $rowNb = 4;
grid_init('some_data_type', 42, 11); // overwrite your defaults
答案 1 :(得分:1)
您似乎无法调用函数。
将您的来电更改为
grid_init('portfolio',4,2);
grid_init('post','',''); // or use '' as default
a)你可能已经声明了这样的函数
function grid_init($type, $postNb, $rowNb)
{
// do stuff on $tyoe, $postNb, $rowNb
}
b)您可以多次调用该函数,每次都使用新参数
grid_init('post', 5, 4);
grid_init('somewhere', 1, 2);
函数不记忆先前调用的值。 如果你想要,那么将它们从该函数中保存到某个地方。
c)您可以在函数上使用默认参数
默认参数总是在函数声明中排在最后。
function grid_init($type, $postNb = 2, $rowNb = 2)
{
// do stuff on $tyoe, $postNb, $rowNb
}
称之为
grid_init('somewhere');
现在postNb,rowNb未设置,但使用了声明中的默认值。
d)保持参数数量低!