@@ -128,7 +128,7 @@ but ``red`` could be set instead (could be more explicit)::
128
128
$question = new ChoiceQuestion(
129
129
'Please select your favorite color (defaults to red)',
130
130
// choices can also be PHP objects that implement __toString() method
131
- ['red', 'blue', 'yellow'], // pass an associative array to display custom indices: [3 => 'red', 7 => 'blue']
131
+ ['red', 'blue', 'yellow'],
132
132
0
133
133
);
134
134
$question->setErrorMessage('Color %s is invalid.');
@@ -145,6 +145,28 @@ The option which should be selected by default is provided with the third
145
145
argument of the constructor. The default is ``null ``, which means that no
146
146
option is the default one.
147
147
148
+ Choice questions display both the choice value and a numeric index, which starts
149
+ from 0 by default. The user can type either the numeric index or the choice value
150
+ to make a selection:
151
+
152
+ .. code-block :: terminal
153
+
154
+ Please select your favorite color (defaults to red):
155
+ [0] red
156
+ [1] blue
157
+ [2] yellow
158
+ >
159
+
160
+ .. tip ::
161
+
162
+ To use custom indices, pass an array with custom numeric keys as the choice
163
+ values::
164
+
165
+ new ChoiceQuestion('Select a room:', [
166
+ 102 => 'Room Foo',
167
+ 213 => 'Room Bar',
168
+ ]);
169
+
148
170
If the user enters an invalid string, an error message is shown and the user
149
171
is asked to provide the answer another time, until they enter a valid string
150
172
or reach the maximum number of attempts. The default value for the maximum number
0 commit comments