Heim >Backend-Entwicklung >PHP-Tutorial >Statusmodus, Rückgabe ohne Rückgabewertproblem
Der Code lautet wie folgt:
Wenn ich echo verwende, hat er einen Wert. Warum kann ich den Wert nicht erhalten, wenn ich return verwende?
<code>class GoodNight implements IState { public function WriteCode(Work $w) { if($w->hour<22) { return Yii::t('yii','Good night'); }else{ $w->SetState(new GoodAtNight()); $w->WriteCode(); } } } </code>
Der Code lautet wie folgt:
Wenn ich echo verwende, hat er einen Wert. Warum kann ich den Wert nicht erhalten, wenn ich return verwende?
<code>class GoodNight implements IState { public function WriteCode(Work $w) { if($w->hour<22) { return Yii::t('yii','Good night'); }else{ $w->SetState(new GoodAtNight()); $w->WriteCode(); } } } </code>
Danke für die Einladung! Da Sie es instanziieren und verwenden, gibt es return
anstelle der Ausgabe zurück, sodass der Wert nicht angezeigt wird, was normal ist! Wenn Sie den verwendeten direkt echo
entfernen, können Sie den Ausgabewert sehen.
<code>class GoodNight implements IState { public function WriteCode(Work $w) { if($w->hour<22) { return Yii::t('yii','Good night'); }else{ $w->SetState(new GoodAtNight()); echo $w->WriteCode(); // 在这里echo就有值了 } } } </code>