Php 函数内的赋值运算符(=)';s参数列表?
我正在使用PHPBuilder.com中的以下代码来处理我网站上的用户权限:Php 函数内的赋值运算符(=)';s参数列表?,php,function,parameters,Php,Function,Parameters,我正在使用PHPBuilder.com中的以下代码来处理我网站上的用户权限: /** * Correct the variables stored in array. * @param integer $mask Integer of the bit * @return array */ function bitMask($mask = 0) { if(!is_numeric($mask)) { return array(); }
/**
* Correct the variables stored in array.
* @param integer $mask Integer of the bit
* @return array
*/
function bitMask($mask = 0) {
if(!is_numeric($mask)) {
return array();
}
$return = array();
while ($mask > 0) {
for($i = 0, $n = 0; $i <= $mask; $i = 1 * pow(2, $n), $n++) {
$end = $i;
}
$return[] = $end;
$mask = $mask - $end;
}
sort($return);
return $return;
}
/**
*更正数组中存储的变量。
*@param integer$位的掩码整数
*@return数组
*/
函数位掩码($mask=0){
如果(!是数字($mask)){
返回数组();
}
$return=array();
而($mask>0){
对于($i=0,$n=0;$i这意味着如果您像这样调用函数:
$a = bitMask();
然后$mask将设置为0
这是在函数中为参数设置默认值的方式
例如:
function example($a=0){
echo "a = $a";
}
example(10);
example();
输出:
a = 10
a = 0
如果$a
未设置默认值,则调用类似example()
的函数将发出警告
引用:(默认参数值)如果未传递任何参数,这是$mask的默认值。这也可以防止在忽略参数时生成警告。Michael的响应是正确的。另外,请注意赋值不会对修改的原始变量产生影响。下面是他的代码,还有一些赋值/回音请说明:
function example($a=0){
echo "Entering function: a = $a\n";
$a = 3;
echo "End of function: a = $a\n";
}
$a = 7;
example(10);
echo "Outside of Function: a = $a\n";
输出
Entering function: a = 10
End of function: a = 3
Outside of Function: a = 7