php - 将 0 传递给具有默认值的函数

标签 php function default-value

我目前正在测试一个简单的 PHP 函数。

如果在没有传递任何参数的情况下调用函数,我想返回字段的当前值;如果传递了参数,我想设置一个新值。 奇怪的是:如果我传递 0(var_dump 显示正确的值 int(1) 0),函数进入 if 分支,就像我调用没有任何值的函数一样,我只是不明白为什么。

功能:

public function u_strasse($u_strasse = 'asdjfklhqwef'){
  if($u_strasse == 'asdjfklhqwef'){
    return $this->u_strasse;
  } else {
    // set new value here
  }
}

u_strasse()u_strasse(0) 让我进入 if 分支。

最佳答案

您应该使用 null 作为默认值:

public function u_strasse($u_strasse = null)
{
    if ($u_strasse === null) { $u_strasse = 'asdjfklhqwef'; }

    // rest of function
}

关于php - 将 0 传递给具有默认值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569557/

相关文章:

php - 在INSERT INTO MySQL查询中插入PHP变量

python - 将 MATLAB 中的 spdiags() 转换为 Python

yii2 : Is it posible to change default parameter name in search URL?

redux 初始状态作为第一个参数是一种不好的做法

php - 连接到 paypal 不起作用

php - SELECT * FROM table WHERE MONTH = 下个月的今天

php - 如何使用几个查询从多个表中计算出东西?

c - 如何使用函数和输出 C

c - 函数参数中的 "int (*)[]"是否衰减为 "int **"?

wolfram-mathematica - 数学 : set default value for argument to nonconstant?