getopt
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
getopt — 명령줄 인수 목록에서 옵션을 가져옵니다.
설명
getopt(string $short_options
, array $long_options
= [], int &$rest_index
= null
): array|false
스크립트에 전달된 옵션을 구문 분석합니다.
매개변수
short_options
- 이 문자열의 각 문자는 옵션 문자로 사용되며 단일 하이픈(-)으로 시작하는 스크립트에 전달된 옵션과 일치합니다. 예를 들어, 옵션 문자열 "x"는 -x 옵션을 인식합니다. a-z, A-Z 및 0-9만 허용됩니다.
long_options
- 옵션의 배열입니다. 이 배열의 각 요소는 옵션 문자열로 사용되며 두 개의 하이픈(--)으로 시작하는 스크립트에 전달된 옵션과 일치합니다. 예를 들어, longopts 요소 "opt"는 --opt 옵션을 인식합니다.
rest_index
- rest_index 매개변수가 있으면 인수 구문 분석이 중지된 인덱스가 이 변수에 기록됩니다.
short_options 매개변수에는 다음 요소가 포함될 수 있습니다.
- 개별 문자(값 허용 안 함)
- 콜론이 뒤따르는 문자(매개변수에는 값이 필요함)
- 두 개의 콜론이 뒤따르는 문자(선택적 값)
옵션 값은 문자열 다음의 첫 번째 인수입니다. 값이 필요한 경우 값에 선행 공백이 있는지 여부는 중요하지 않습니다. 참고를 참조하십시오.
참고: 선택적 값은 " "(공백)을 구분 기호로 허용하지 않습니다.
long_options 배열 값에는 다음이 포함될 수 있습니다.
- 문자열(매개변수는 어떤 값도 허용하지 않음)
- 콜론이 뒤따르는 문자열(매개변수에는 값이 필요함)
- 두 개의 콜론이 뒤따르는 문자열(선택적 값)
참고: short_options 및 long_options의 형식은 거의 동일하지만, 유일한 차이점은 long_options는 옵션 배열(각 요소가 옵션임)을 취하는 반면 short_options는 문자열(각 문자가 옵션임)을 취한다는 것입니다.
반환 값
이 함수는 옵션/인수 쌍의 배열을 반환하거나 실패 시 false
를 반환합니다.
참고: 옵션의 구문 분석은 처음으로 발견된 비 옵션에서 종료되고 그 다음의 모든 것은 폐기됩니다.
변경 로그
버전 | 설명 |
---|---|
7.1.0 | rest_index 매개변수를 추가했습니다. |
Examples
예제 #1 getopt() 예제: 기본 사항
<?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) }
예제 #2 getopt() 예제: 긴 옵션 소개
<?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) }
예제 #3 getopt() 예제: 여러 옵션을 하나로 전달
<?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) }
예제 #4 getopt() 예제: 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
위의 예는 다음을 출력합니다.
array(1) { [0]=> string(4) "test" }