diff --git a/php/src/output/std/ConsoleMessenger.php b/php/src/output/std/ConsoleMessenger.php index fd3d716..fe383cd 100644 --- a/php/src/output/std/ConsoleMessenger.php +++ b/php/src/output/std/ConsoleMessenger.php @@ -242,11 +242,13 @@ class ConsoleMessenger extends AbstractMessenger { } function _endTitle(?int $until=null): void { - $title = $this->titles[array_key_last($this->titles)]; - $until ??= $title["max_title_level"]; - $until ??= $this->_getTitleMark() - 1; - while (count($this->titles) > $until) { - array_pop($this->titles); + $title = $this->titles[array_key_last($this->titles)] ?? null; + if ($title !== null) { + $until ??= $title["max_title_level"]; + $until ??= $this->_getTitleMark() - 1; + while (count($this->titles) > $until) { + array_pop($this->titles); + } } } @@ -385,11 +387,13 @@ class ConsoleMessenger extends AbstractMessenger { } function _endAction(?int $until=null): void { - $action = $this->actions[array_key_last($this->actions)]; - $until ??= $action["max_action_level"]; - $until ??= $this->_getActionMark() - 1; - while (count($this->actions) > $until) { - array_pop($this->actions); + $action = $this->actions[array_key_last($this->actions)] ?? null; + if ($action !== null) { + $until ??= $action["max_action_level"]; + $until ??= $this->_getActionMark() - 1; + while (count($this->actions) > $until) { + array_pop($this->actions); + } } }