PHP:传递默认值而不是引用

时间:2018-04-05 11:23:21

标签: php

我有这样的功能(使用PHP 7.1):

function myfunction(&$first = null, $second = null)
{   // do something
}

我想要实现的是将null作为第一个参数传递并传递一些东西作为第二个参数:

myfunction(null, $something);

当我这样做时,我得到“只能通过参考传递”错误。

但当然null是第一个参数的默认值,所以当然该函数被设计为处理null作为第一个参数。

有办法吗?

(有一个类似的问题,但它包含大量不相关的字符串和参数,因此难以阅读,它也没有提到触发的错误,因此任何人都不会找到它遇到这个问题。)

2 个答案:

答案 0 :(得分:5)

您可以发送未声明的变量,例如(DEMO),而不是发送test5 <- as.data.table(INs3)[, list(MyFits = lapply(.SD[, -1, with = F], function(x) boot(INs3,function(data,indices) summary(lm(Dependant~x,data[indices,]))$adj.r.squared, R=100))) ]

null

这将用于执行该功能而不破坏您的代码。

答案 1 :(得分:0)

不可能。如果函数具有多于1个参数,则引用不能为空第一参数。

以下是一些可能性:

router.get('/recipe', function(req, res, next) {
  Recipe.find({
    $text: {
      $search: req.resultString
    }
  }, {
    score: {
      $meta: "textScore"
    }
  }, function(err, recipe) {

    res.json(recipe);

  }).sort({
    score: {
      $meta: "textScore"
    }
  });
});

主叫:

function func($a = null, &$b = null) {}
function funcb(&$a, $b = null) {}