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.