diff --git a/src/Symfony/Component/Console/Completion/CompletionInput.php b/src/Symfony/Component/Console/Completion/CompletionInput.php index df9170528f38..f2c6f5c9c72f 100644 --- a/src/Symfony/Component/Console/Completion/CompletionInput.php +++ b/src/Symfony/Component/Console/Completion/CompletionInput.php @@ -117,7 +117,11 @@ public function bind(InputDefinition $definition): void } $this->completionName = $argumentName; - $this->completionValue = \is_array($argumentValue ?? '') ? $argumentValue[array_key_last($argumentValue)] : $argumentValue; + if (\is_array($argumentValue)) { + $this->completionValue = $argumentValue ? $argumentValue[array_key_last($argumentValue)] : null; + } else { + $this->completionValue = $argumentValue; + } } if ($this->currentIndex >= \count($this->tokens)) { diff --git a/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php b/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php index 35470e15404f..4c9251abd652 100644 --- a/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php +++ b/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php @@ -92,6 +92,7 @@ public function testBindWithLastArrayArgument(CompletionInput $input, ?string $e public function provideBindWithLastArrayArgumentData() { + yield [CompletionInput::fromTokens(['bin/console'], 1), null]; yield [CompletionInput::fromTokens(['bin/console', 'symfony', 'sensiolabs'], 3), null]; yield [CompletionInput::fromTokens(['bin/console', 'symfony', 'sen'], 2), 'sen']; }