Делать много возвратов в функции? - PullRequest
0 голосов
/ 17 февраля 2012

Я пытаюсь вернуть значение функции, чтобы связать его с другой функцией <вот код. </p>

foreach($id as $sid){
$test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';

return $test;
}

с другой функцией я повторяю результат этой функции, при этом она показывает только первый результат цикла for. Что не так с кодом?

Ответы [ 3 ]

6 голосов
/ 17 февраля 2012

Вам необходимо переместить оператор return за пределы цикла for.

foreach($id as $sid){
    $test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}

return $test;

A return оператор немедленно завершает выполнение текущей функции и возвращает ее аргумент в качестве значения вызова функции.

2 голосов
/ 17 февраля 2012

Положите свой возврат за пределы цикла:

foreach($id as $sid){
  $test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}
return $test;
1 голос
/ 17 февраля 2012

Вы можете только return один раз. Return завершает выполнение текущей функции. Чтобы echo получить результат, сделайте следующее:

foreach($id as $sid){
    echo '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}

Только на return один раз, поместите возврат за пределы цикла for:

foreach($id as $sid){
    $test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}
return $test;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...