getopt
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
getopt β ΠΡΡΠΈΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Ρ ΡΠΏΠΈΡΠΊΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°
ΠΠΏΠΈΡ
getopt(string $short_options, array $long_options = [], int &$rest_index = null): array|false
ΠΠ½Π°Π»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² ΡΠΊΡΠΈΠΏΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
short_options
ΠΠΎΠΆΠ΅Π½ ΡΠΈΠΌΠ²ΠΎΠ» Ρ ΡΡΠΎΠΌΡ ΡΡΠ΄ΠΊΡ ΡΠΎΠ·Π³Π»ΡΠ΄Π°ΡΠΈΠΌΠ΅ΡΡΡΡ ΡΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Ρ ΠΏΠΎΡΡΠ²Π½ΡΠ²Π°ΡΠΈΠΌΠ΅ΡΡΡΡ ΡΠ· ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΈΠΌΠΈ Ρ ΡΠΊΡΠΈΠΏΡ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠΈΠΌΠΈ ΡΡΠΎΡΡΠΈΠΌΠ΅ Π΄Π΅ΡΡΡ (-
). ΠΠ°ΠΡΠΈΠΊΠ»Π°Π΄, ΡΡΡΠΎΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²"x"
ΡΠΎΠ·ΠΏΡΠ·Π½Π°ΡΡΡΡΡ ΡΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -x
. ΠΠΎΠΏΡΡΠΊΠ°ΡΡΡΡΡ Π»ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ a-z, A-Z ΡΠ° 0-9.
long_options
ΠΠ°ΡΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ². ΠΠΎΠΆΠ΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΠΈΠ²Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈΠΌΠ΅ΡΡΡΡ ΡΠΊ ΡΡΠ΄ΠΊΠΎΠ²ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Ρ ΠΏΠΎΡΡΠ²Π½ΡΠ²Π°ΡΠΈΠΌΠ΅ΡΡΡΡ Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΈΠΌΠΈ Π² ΡΠΊΡΠΈΠΏΡ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠΈΠΌΠΈ ΡΡΠΎΡΡΠΈΠΌΠ΅ ΠΏΠΎΠ΄Π²ΡΠΉΠ½ΠΈΠΉ Π΄Π΅ΡΡΡ (--
). ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, Π΅Π»Π΅ΠΌΠ΅Π½Ρ longopts "opt"
Π±ΡΠ΄Π΅ ΡΠΎΠ·ΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈΡΡ ΡΠΊ --opt
rest_index
ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡrest_index
, ΡΠΎ ΡΠ½Π΄Π΅ΠΊΡ, Π½Π° ΡΠΊΠΎΠΌΡ Π·ΡΠΏΠΈΠ½ΠΈΠ²ΡΡ ΡΠΎΠ·Π±ΡΡ, Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π½ΡΠΎΠ³ΠΎ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρshort_options
ΠΌΠΎΠΆΠ΅ ΠΌΡΡΡΠΈΡΠΈ ΡΠ°ΠΊΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ:
- ΠΠΊΡΠ΅ΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ (ΡΠΎ Π½Π΅ ΠΌΠ°ΡΡΡ Π·Π½Π°ΡΠ΅Π½Ρ)
- Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π·Π° ΡΠΊΠΈΠΌΠΈ ΡΠ»ΡΠ΄ΡΡ Π΄Π²ΠΎΠΊΡΠ°ΠΏΠΊΠ° (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΠΈΠΌΠ°Π³Π°Ρ Π·Π½Π°ΡΠ΅Π½Π½Ρ)
- Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π·Π° ΡΠΊΠΈΠΌΠΈ ΡΠ»ΡΠ΄ΡΡ Π΄Π²Ρ Π΄Π²ΠΎΠΊΡΠ°ΠΏΠΊΠΈ (Π½Π΅ΠΎΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²Π΅ Π·Π½Π°ΡΠ΅Π½Π½Ρ)
ΠΠ½Π°ΡΠ΅Π½Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ² ΠΉΠ΄ΡΡΡ Π·Π° ΡΡΠ΄ΠΊΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° (ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ). Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π·Π½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ Π½Π΅ΠΌΠ°Ρ ΡΡΠ·Π½ΠΈΡΡ, Ρ ΠΌΡΠΆ Π½ΠΈΠΌΠΈ ΠΏΡΠΎΠ±ΡΠ» ΡΠΈ Π½Ρ.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ: ΠΠ΅ΠΎΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²Ρ Π·Π½Π°ΡΠ΅Π½Π½Ρ Π½Π΅ ΠΌΠΎΠΆΠ½Π° Π²ΡΠ΄ΠΎΠΊΡΠ΅ΠΌΠ»ΡΠ²Π°ΡΠΈ Π²ΡΠ΄ ΡΠ½ΡΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΡΠ²
" "
ΠΠ½Π°ΡΠ΅Π½Π½Ρ ΠΌΠ°ΡΠΈΠ²Ρ long_options
ΠΌΠΎΠΆΡΡΡ ΠΌΡΡΡΠΈΡΠΈ:
- Π ΡΠ΄ΠΎΠΊ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π΅ Π½Π°Π±ΡΠ²Π°Ρ ΠΆΠΎΠ΄Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½Ρ)
- Π ΡΠ΄ΠΎΠΊ, Π·Π° ΡΠΊΠΈΠΌ ΡΠ»ΡΠ΄ΡΡ Π΄Π²ΠΎΠΊΡΠ°ΠΏΠΊΠ° (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΠΈΠΌΠ°Π³Π°Ρ Π·Π½Π°ΡΠ΅Π½Π½Ρ)
- Π ΡΠ΄ΠΎΠΊ, Π·Π° ΡΠΊΠΈΠΌ ΡΠ»ΡΠ΄ΡΡ Π΄Π²Ρ Π΄Π²ΠΎΠΊΡΠ°ΠΏΠΊΠΈ (Π½Π΅ΠΎΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²Π΅ Π·Π½Π°ΡΠ΅Π½Π½Ρ)
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π€ΠΎΡΠΌΠ°ΡΠΈ
short_options
ΠΈlong_options
ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ Π·Π±ΡΠ³Π°ΡΡΡΡΡ. ΠΡΠ΄ΠΌΡΠ½Π½ΡΡΡΡ ΠΏΠΎΠ»ΡΠ³Π°Ρ Π»ΠΈΡΠ΅ Π² ΡΠΎΠΌΡ, ΡΠΎlong_options
ΠΏΡΠΈΠΉΠΌΠ°Ρ ΠΌΠ°ΡΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ² (Ρ ΡΠΊΠΎΠΌΡ ΠΊΠΎΠΆΠ΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ) Ρ ΡΠΎΠΉ ΡΠ°Ρ, ΡΠΊshort_options
ΠΏΡΠΈΠΉΠΌΠ°Ρ ΡΡΠ΄ΠΎΠΊ (Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Ρ ΠΊΠΎΠΆΠ΅Π½ ΡΠΈΠΌΠ²ΠΎΠ»).
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
Π€ΡΠ½ΠΊΡΡΡ ΠΏΠΎΠ²Π΅ΡΠ½Π΅ ΠΌΠ°ΡΠΈΠ² ΠΏΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²/Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡΠ² Π°Π±ΠΎ **false
**Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π―ΠΊ ΡΡΠ»ΡΠΊΠΈ Π·ΡΡΡΡΡΠ½Π΅ΡΡΡΡ ΠΏΠ΅ΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠΎ Π½Π΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΡΠΎΠ·Π±ΡΡ ΡΡΠ΄ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±ΡΠ΄Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ, Π° ΡΠ°ΡΡΠΈΠ½Π° ΡΡΠ΄ΠΊΠ°, ΡΠΎ Π·Π°Π»ΠΈΡΠΈΠ»Π°ΡΡ, Π±ΡΠ΄Π΅ ΠΏΡΠΎΡΠ³Π½ΠΎΡΠΎΠ²Π°Π½Π°.
ΡΠΏΠΈΡΠΎΠΊ Π·ΠΌΡΠ½
ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡ |
---|---|
7.1.0 | ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡrest_index |
ΠΡΠΈΠΊΠ»Π°Π΄ΠΈ
ΠΡΠΈΠΊΠ»Π°Π΄ #1 ΠΡΠΈΠΊΠ»Π°Π΄ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ getopt(): ΠΎΡΠ½ΠΎΠ²ΠΈ
Loading...
shell> php example.php -fvalue -h
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
array(2) {
["f"]=>
string(5) "value"
["h"]=>
bool(false)
}
ΠΡΠΈΠΊΠ»Π°Π΄ #2 ΠΡΠΈΠΊΠ»Π°Π΄ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ getopt(): Π΄ΠΎΠ΄Π°Π²Π°Π½Π½Ρ Π΄ΠΎΠ²Π³ΠΈΡ ΠΎΠΏΡΡΠΉ
Loading...
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
array(6) {
["f"]=>
string(11) "value for f"
["v"]=>
bool(false)
["a"]=>
bool(false)
["required"]=>
string(5) "value"
["optional"]=>
string(14) "optional value"
["option"]=>
bool(false)
}
ΠΡΠΈΠΊΠ»Π°Π΄ #3 ΠΡΠΈΠΊΠ»Π°Π΄ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ getopt(): ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΊΡΠ»ΡΠΊΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ² ΡΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ
Loading...
shell> php example.php -aaac
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
array(2) {
["a"]=>
array(3) {
[0]=>
bool(false)
[1]=>
bool(false)
[2]=>
bool(false)
}
["c"]=>
bool(false)
}
ΠΡΠΈΠΊΠ»Π°Π΄ #4 ΠΡΠΈΠΊΠ»Π°Π΄getopt()Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌrest_index
Loading...
shell> php example.php -a 1 -b 2 -- test
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
array(1) {
[0]=>
string(4) "test"
}