Use getopt() when you need to parses options supplied to a PHP command-line script in a PHP application. The examples below show the actual operation and its limitations.
What Is getopt() in PHP?
Parses options supplied to a PHP command-line script. The exact signature supported by your installation depends on its PHP version and enabled extensions.
Its syntax is:
getopt(string $short_options, array $long_options = ..., &$rest_index = ...): array|false
Parameters and return value: The parameter types, optional arguments, references, and return type are shown in the signature above. Optional parameters are marked with an ellipsis in this reference signature.
Example 1: Basic Usage
<?php
$options = getopt("v"); var_dump(is_array($options));
Result: Run the example in an environment that supports the function. Any values depending on operating-system state, installed extensions, process configuration, or network access must be checked on the target server.
Example 2: Different Input or Behavior
<?php
$options = getopt("",["dry-run"]); echo isset($options["dry-run"]) ? "Dry run" : "Normal run";
Result: Run the example in an environment that supports the function. Any values depending on operating-system state, installed extensions, process configuration, or network access must be checked on the target server.
Practical Example: Applying the Function
<?php
$options = getopt("f:",["format:"]); $format = $options["format"] ?? "text"; echo "Format: " . $format;
Result: Run the example in an environment that supports the function. Any values depending on operating-system state, installed extensions, process configuration, or network access must be checked on the target server.
Important Behavior and Edge Cases
Designed for command-line arguments; options using colons require values.
Comparison With Related Functions
| Approach | Difference |
|---|---|
getopt() | Parses options supplied to a PHP command-line script. |
| Related operation | $_SERVER["argv"] contains raw CLI tokens; getopt() parses option syntax. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
| Ignoring the function-specific limitation | Designed for command-line arguments; options using colons require values. |
| Confusing this function with a related operation | $_SERVER["argv"] contains raw CLI tokens; getopt() parses option syntax. |
Key Takeaways
- Parses options supplied to a PHP command-line script.
- Designed for command-line arguments; options using colons require values.
- $_SERVER["argv"] contains raw CLI tokens; getopt() parses option syntax.
Use getopt() for the specific operation demonstrated above. Check its prerequisites and handle failure conditions before using it with production data.