Работа анонимной функции

riki-tik

Новичок
Здравствуйте!
Есть некоторый запрос в который я планировал вставить три входных параметра, два из них обычные переменные, а вот третий - это анонимная функция.
Т.е. есть такой код
Код:
$a = 'a';
$b = '$b';
$name = customFunction($a, $b, function() {
  return 'c';
});
В итоге я планировал получить в customFunction 'a', 'b', 'c'. И все было бы замечательно, но... Но в результате третьим параметров приходит объект, в котором нету даже намека на 'c'.
Подскажите, пожалуйста, как это можно исправить?
 

AnrDaemon

Продвинутый новичок
Никак. У тебя третий параметр - сама функция, а не результат её работы.
Как вариант
PHP:
<?php

function customFunction($a, $b, $c){
  $_c = '?';
  if(is_callable($c)) $_c = call_user_func($c);
  print "$a + $b = $_c\n";
}
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Тогда уж как в Laravel :)
PHP:
	function value($value) {
		return $value instanceof \Closure ? $value() : $value;
	}
//...
	function customFunction($a, $b, $c) {
		$c = value($c);
		//...
	}
 
Сверху