PHP Return во вложенных функциях - PullRequest
1 голос
/ 11 октября 2011

У меня есть вопрос о моих функциях. Позвольте мне объяснить, у меня есть две функции:

/* This function works properly
; example : echo first('Hello world', 'return');
*/
function first($string, $return = 'echo')
{
 if($return == 'echo')
 {
  echo $string;
 }
 else
 {
  return $string;
 }
}

И это вторая функция, вызывающая первую функцию.

/* This function doesn't works
; example : echo second('my string', 'return');
*/
function second($string, $return = 'echo')
{
 first($string, $return);
}

Проблема в том, что я хочу, чтобы вторая функция была такой же простой, как указано выше.

1 Ответ

4 голосов
/ 11 октября 2011

Вам нужно return от second(). В противном случае first(), вызываемый внутри него, выдаст echo, но значение, которое он возвращает вызывающей стороне (second()), никуда не денется и будет потеряно. Верните значение вызова на first() из second().

function second($string, $return = 'echo')
{
  return  first($string, $return);
}
...