函数声明中的赋值

时间:2014-08-23 14:48:38

标签: php

以下函数似乎将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;
}

2 个答案:

答案 0 :(得分:2)

false 是参数的默认值。如果您致电is_super_admin(),$ user_id在方法正文中的值为 false

答案 1 :(得分:2)

Check the example 3

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("espresso");
?>

以上示例将输出:

制作一杯卡布奇诺咖啡 做一杯。
制作一杯浓咖啡。