getopt

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

getoptGets options from the command line argument list

Beschreibung

getopt(string $short_options, array $long_options = [], int &$rest_index = null): array|false

Parses options passed to the script.

Parameter-Liste

short_options
Each character in this string will be used as option characters and matched against options passed to the script starting with a single hyphen (-). For example, an option string "x" recognizes an option -x. Only a-z, A-Z and 0-9 are allowed.
long_options
An array of options. Each element in this array will be used as option strings and matched against options passed to the script starting with two hyphens (--). For example, an longopts element "opt" recognizes an option --opt.
rest_index
If the rest_index parameter is present, then the index where argument parsing stopped will be written to this variable.

The short_options parameter may contain the following elements:

  • Individual characters (do not accept values)
  • Characters followed by a colon (parameter requires value)
  • Characters followed by two colons (optional value)
Option values are the first argument after the string. If a value is required, it does not matter whether the value has leading white space or not. See note.

Hinweis: Optional values do not accept " " (space) as a separator.

The long_options array values may contain:

  • String (parameter does not accept any value)
  • String followed by a colon (parameter requires value)
  • String followed by two colons (optional value)

Hinweis:

The format for the short_options and long_options is almost the same, the only difference is that long_options takes an array of options (where each element is the option) whereas short_options takes a string (where each character is the option).

Rückgabewerte

This function will return an array of option / argument pairs, Bei einem Fehler wird false zurückgegeben..

Hinweis:

The parsing of options will end at the first non-option found, anything that follows is discarded.

Changelog

Version Beschreibung
7.1.0 Added the rest_index parameter.

Beispiele

Beispiel #1 getopt() example: The basics

<?php
// Script example.php
$options getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fvalue -h

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}

Beispiel #2 getopt() example: Introducing long options

<?php
// Script example.php
$shortopts  "";
$shortopts .= "f:";  // Required value
$shortopts .= "v::"// Optional value
$shortopts .= "abc"// These options do not accept values

$longopts  = array(
    
"required:",     // Required value
    
"optional::",    // Optional value
    
"option",        // No value
    
"opt",           // No value
);
$options getopt($shortopts$longopts);
var_dump($options);
?>
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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)
}

Beispiel #3 getopt() example: Passing multiple options as one

<?php
// Script example.php
$options getopt("abc");
var_dump($options);
?>
shell> php example.php -aaac

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

Beispiel #4 getopt() example: Using rest_index

<?php
// Script 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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  string(4) "test"
}

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

HTML, CSS-Tags in echo-Befehl

Embedding HTML and CSS directly inside PHP echo statements can quickly become difficult to manage, especially as the layout grows more complex. Ke ...

Geschrieben von galaMadrid am 22.06.2026 18:06:21
Forum: PHP Developer Forum
ivotril Betrouwbare winkel. Bronnen Rivotril. Snelle levering - Rivotril Online aank

Betrouwbare winkel Rivotril. Bronnen Rivotril. Snelle levering Op zoek naar eersteklas medicijnen zonder dat u uw huis hoeft te verlaten? Zoek nie ...

Geschrieben von travelder am 22.06.2026 11:13:16
Forum: Projekthilfe
yrica Entrega rápida. precisa de receita médica para comprar Lyrica - qual receita c

Entrega rápida Lyrica. precisa de receita médica para comprar Lyrica ¿Necesita medicamentos confiables y de alta calidad, pero no quiere salir ...

Geschrieben von travelder am 22.06.2026 00:19:27
Forum: Entwicklungsumgebungen
romazepam Till salu. Brand Bromazepam online rx över natten - Torskleverans Bromazep

Till salu Bromazepam. Brand Bromazepam online rx över natten Letar du efter förstklassiga mediciner utan att lämna hemmet? Kolla inte vidare! V ...

Geschrieben von travelder am 22.06.2026 00:18:50
Forum: Bücher-Forum