函数声明中的赋值


Assignment in function declaration

下面的函数似乎将user_id作为参数。然而,它似乎也将值false分配给该变量。到底发生了什么?无论如何,使用任何参数似乎都没有多大意义,如果它的值是在函数中设置的。另外,phpdoc表明user_id是int型,而赋值意味着它是布尔型。

谁能解释一下这是怎么回事?
/**
 * Determine if user is a site admin.
 *
 * @since 3.0.0
 *
 * @param int $user_id (Optional) The ID of a user. Defaults to the current user.
 * @return bool True if the user is a site admin.
 */
function is_super_admin( $user_id = false ) {
// ...
    return false;
}

查看示例3

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.'n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("espresso");
?>
上面的示例将输出:

煮一杯卡布奇诺。
做一杯。
煮一杯浓缩咖啡。

false为该参数的默认值。如果您调用is_super_admin(), $user_id的值false在方法体中