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

Grid und Pos geht nicht ...

It’s great to see discussions around grid and POS issues! Perhaps considering alternative CSS frameworks could enhance layout flexibility. Appre ...

Geschrieben von clare200 am 24.06.2026 09:08:24
Forum: PHP Developer Forum
dumps101.com> HOT SELLER SELLING CC CCV CVV FULZ QUALITY CHEAP ALL COUNTRY

BEST DUMPS SHOP 2026 | DUMPS FRESH TRACK 1&2 | dumps201.net | DUMPS SHOP | CC SHOP | BANK LOGIN | CLONING CARD 2026 | ATM DUMPS PIN | CHIP CARD 20 ...

Geschrieben von shopcvv12 am 24.06.2026 08:57:14
Forum: News / Kostenloses
dumps101.com> SELL CC CVV CVV2 DUMPS12 WITH PIN FULL 2026 ALL COUNTRY

dumps101.com - dumps101.com CVV Shop buy CVV Dumps, CC Fullz Info, Cloned Cards Dumps ATM * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

Geschrieben von shopcvv12 am 24.06.2026 08:55:47
Forum: Fragen/Vorschläge zum Forum
Sell Cvv,DEAD Dumps Pin,CashApp Transfer,Clone Card,Fullz ssn dob cs DL US UK

SELL CVV, SELL CVV GOOD 2026, BUY CVV FULLZ FRESH, FULLZ INFO SSN+DOB, FULLZ TAX REFUND W2'EIN'DL, BUY DUMPS TRACKS 1.2 VALID 100% SELL CVV+FULLZ ...

Geschrieben von shopcvv12 am 24.06.2026 08:55:00
Forum: Ankündigungen