getopt()
getopt
Hämtar alternativ från kommandoradens argumentlista.
Beskrivning
getopt(string $short_options, array $long_options = [], int &$rest_index = null): array|false
Parsar alternativ som skickats till skriptet.
Parametrar
- short_options
- En sträng där varje tecken används som alternativtecken och matchas mot alternativ som börjar med ett enda bindestreck (-), t.ex. -x.
- long_options
- En array av alternativ. Varje element används som alternativsträng och matchas mot alternativ som börjar med två bindestreck (--), t.ex. --opt.
- rest_index
- Om rest_index-parametern finns, kommer indexet där argumentparsing avslutades att skrivas till denna variabel.
Returneringsvärde
Funktionen returnerar en array av alternativ / argumentpar, eller false vid fel.
Exempel
Exempel #1: Grundläggande användning av getopt()
<?php
// Skript example.php
$options = getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fvalue -h
Utdata:
array(2) {
["f"]=>
string(5) "value"
["h"]=>
bool(false)
}
Exempel #2: Användning av långa alternativ med getopt()
<?php
// Skript example.php
$shortopts = "";
$shortopts .= "f:"; // Kräver värde
$shortopts .= "v::"; // Valfritt värde
$shortopts .= "abc"; // Dessa alternativ accepterar inga värden
$longopts = array(
"required:", // Kräver värde
"optional::", // Valfritt värde
"option", // Inget värde
"opt", // Inget värde
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option
Utdata:
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)
}
Exempel #3: Skicka flera alternativ som ett
<?php
// Skript example.php
$options = getopt("abc");
var_dump($options);
?>
shell> php example.php -aaac
Utdata:
array(2) {
["a"]=>
array(3) {
[0]=>
bool(false)
[1]=>
bool(false)
[2]=>
bool(false)
}
["c"]=>
bool(false)
}
Exempel #4: Användning av rest_index
<?php
// Skript example.php
$rest_index = null;
$opts = getopt('a:b:', [], $rest_index);
$pos_args = array_slice($argv, $rest_index);
var_dump($pos_args);
?>
shell> php example.php -a 1 -b 2 -- test
Utdata:
array(1) {
[0]=>
string(4) "test"
}
Se även
- $argv - Används för att hantera kommandoradsargument i PHP
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.getopt.php
PHP Funktioner Funktionsreferens
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp och Datorservice som har sponsrat Linux.se med webserver.