getopt

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

getopt锟斤拷锟斤拷锟斤拷锟叫诧拷锟斤拷锟叫憋拷锟叫伙拷取选锟斤拷

说锟斤拷

getopt ( string $options [, array $longopts [, int &$optind ]] ) : array

锟斤拷锟斤拷锟斤拷锟斤拷疟锟斤拷锟窖★拷睢�

锟斤拷锟斤拷

options
锟斤拷锟街凤拷锟斤拷锟叫碉拷每锟斤拷锟街凤拷锟结被锟斤拷锟斤拷选锟斤拷锟街凤拷锟斤拷匹锟戒传锟斤拷疟锟斤拷锟窖★拷锟斤拷缘锟斤拷锟斤拷锟斤拷址锟�(-)锟斤拷头锟斤拷 锟斤拷锟界,一锟斤拷选锟斤拷锟街凤拷锟斤拷 "x" 识锟斤拷锟斤拷一锟斤拷选锟斤拷 -x锟斤拷 只锟斤拷锟斤拷 a-z锟斤拷A-Z 锟斤拷 0-9锟斤拷
longopts
选锟斤拷锟斤拷锟介。锟斤拷锟斤拷锟斤拷锟叫碉拷每锟斤拷元锟截会被锟斤拷为选锟斤拷锟街凤拷锟斤拷锟斤拷匹锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街凤拷(--)锟斤拷锟诫到锟脚憋拷锟斤拷选锟筋。 锟斤拷锟界,锟斤拷选锟斤拷元锟斤拷 "opt" 识锟斤拷锟斤拷一锟斤拷选锟斤拷 --opt锟斤拷
optind
If the optind parameter is present, then the index where argument parsing stopped will be written to this variable.

options 锟斤拷锟杰帮拷锟斤拷锟斤拷锟斤拷锟斤拷元锟截o拷

  • 锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷值锟斤拷
  • 锟斤拷锟斤拷锟斤拷锟矫帮拷诺锟斤拷址锟斤拷锟斤拷锟窖★拷锟斤拷锟揭碉拷锟�
  • 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫帮拷诺锟斤拷址锟斤拷锟斤拷锟窖★拷锟斤拷值锟斤拷选锟斤拷
选锟斤拷锟街碉拷锟斤拷址锟斤拷锟斤拷锟侥碉拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟街碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟街抵帮拷欠锟斤拷锟角帮拷玫目崭瘢渭锟斤拷锟斤拷锟斤拷锟斤拷荨锟�

Note: 选锟斤拷锟街碉拷锟斤拷锟斤拷芸崭锟�" "锟斤拷锟斤拷为锟街革拷锟斤拷锟斤拷

Note:

options 锟斤拷 longopts 锟侥革拷式锟斤拷锟斤拷锟斤拷一锟斤拷锟侥o拷唯一锟侥诧拷同之锟斤拷锟斤拷 longopts 锟斤拷要锟斤拷选锟斤拷锟斤拷锟斤拷椋匡拷锟皆拷锟轿伙拷锟窖★拷睿╋拷锟斤拷锟� options 锟斤拷要一锟斤拷锟街凤拷锟斤拷锟斤拷每锟斤拷锟街凤拷锟角革拷选锟筋)锟斤拷

锟斤拷锟斤拷值

锟剿猴拷锟斤拷锟结返锟斤拷选锟斤拷/锟斤拷锟斤拷锟皆o拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

Note:

选锟斤拷慕锟斤拷锟斤拷锟斤拷锟街癸拷锟斤拷业锟斤拷牡锟揭伙拷锟斤拷锟窖★拷睿拷锟斤拷锟轿何讹拷锟斤拷锟斤拷锟结被锟斤拷锟斤拷锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
7.1.0 锟斤拷锟� optind 锟斤拷锟斤拷锟斤拷
5.3.0 支锟斤拷 "=" 锟斤拷为 锟斤拷锟斤拷锟斤拷值锟侥分革拷锟斤拷锟斤拷
5.3.0 锟斤拷锟斤拷锟剿匡拷选值锟斤拷支锟街o拷锟斤拷"::"指锟斤拷锟斤拷锟斤拷
5.3.0 锟斤拷锟斤拷 longopts 锟斤拷锟斤拷锟斤拷系统平台锟较撅拷锟斤拷锟矫★拷
5.3.0 锟剿猴拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节诧拷锟斤拷系统锟斤拷锟斤拷锟斤拷也锟杰癸拷锟斤拷 Windows 锟斤拷锟斤拷锟叫★拷

锟斤拷锟斤拷

Example #1 getopt() 锟斤拷锟接o拷锟斤拷锟斤拷锟矫凤拷

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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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

Example #2 getopt() 锟斤拷锟接o拷锟斤拷锟诫长选锟斤拷

<?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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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

Example #3 getopt() 锟斤拷锟接o拷锟斤拷锟斤拷同一锟斤拷锟窖★拷锟�

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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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

Example #4 getopt() 锟斤拷锟接o拷使锟斤拷 optind

<?php
// Script example.php
$optind null;
$opts getopt('a:b:', [], $optind);
$pos_args array_slice($argv$optind);
var_dump($pos_args);
shell> php example.php -a 1 -b 2 -- test

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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

锟轿硷拷