Использует ли PHP grok нулевые ссылки?

#php #reference #null

#php #ссылка #null

Вопрос:

Я хочу определить функцию PHP с параметром reference, по умолчанию с нулевой ссылкой. Не очень сильно отличается от того, что сделал бы следующий код на C :

 ReturnType my_function(moar lulz, ParameterType* ptr_to_my_param = 0)
{
    // do some processing using lulz only
    // ...

    if (ptr_to_my_param)
    {
        // use *ptr_to_my_param
        // or   ptr_to_my_param->
        // ...
    }

    // do more processing, again using lulz only
    // ...
}
  

Как мне это сделать в PHP?

Комментарии:

1. В PHP невозможно определить, является ли переданный параметр ссылкой или нет. Вы можете проверить только значение.

Ответ №1:

Если я вас правильно понял, вы хотите сделать что-то вроде

 class NiceClass {}

function foo($baz, NiceClass $bar = NULL) {

    // Do some processing

    if(bar !== NULL) {
         // Do something with bar
         $bar->yay($baz);
    }

    // Do some more processing
}
  

Комментарии:

1. ДА… за исключением точки. Я хочу передать нулевую ссылку (в смысле C слова «ссылка») на целое число.

Ответ №2:

 function my_function($value, $value = null) {
  if(is_null($value)) {

  } else {

  }
}
  

Комментарии:

1. Мне нужен необязательный выходной параметр типа integer. Я действительно скучаю по .NET Nullable<T> where T : struct