(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
getopt — Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür
$kısa_seçenekler, array $uzun_seçenekler = [], int &$kalan_indisi = null): array|falseBetiğe aktarılan seçenekleri çözümler.
kısa_seçenekler-) konarak betik çalıştırılırken komut
satırından belirtilebilir.
Örneğin, "x" seçenek dizgesi -x
seçeneğinin tanınmasını sağlar.
Sadece a-z, A-Z ve 0-9 karakterlerine izin verilir.
uzun_seçenekler--) konarak betik çalıştırılırken komut
satırından belirtilebilir.
Örneğin, "opt" elemanı --opt
seçeneğinin tanınmasını sağlar.
kalan_indisikalan_indisi bağımsız değişkeni belirtilmişse,
bağımsız değişken çözümlemesinin durduğu indis bu değişkene yazılacaktır.
kısa_seçenekler bağımsız değişkeni şu bileşenleri
içerebilir:
Bilginize: İsteğe bağlı değerler bir ayraç olarak
" "(boşluk) kabul etmezler.
uzun_seçenekler dizisinin içerebileceği değerler:
Bilginize:
kısa_seçeneklerveuzun_seçenekleriçin biçem hemen hemen aynıdır. Tek fark, birincisinin bir dizge (her karakter bir seçenek) ikincisinin bir dizi (her eleman bir seçenek) almasıdır.
Bağımsız değişken çiftlerini içeren bir dizi, başarısızlık durumunda false döner.
Bilginize:
Seçeneklerin çözümlenmesi seçenek olmayan ilk değerde durur, kalan herşey yok sayılır.
| Sürüm: | Açıklama |
|---|---|
| 7.1.0 |
kalan_indisi bağımsız değişkeni eklendi.
|
Örnek 1 - getopt() örneği - temeller
<?php
// Betik: example.php
$options = getopt("f:hp:");
var_dump($options);
?>shell> php example.php -fdeğer -h
Yukarıdaki örneğin çıktısı:
array(2) {
["f"]=>
string(5) "değer"
["h"]=>
bool(false)
}
Örnek 2 - getopt() ve uzun seçenekler
<?php
// Betik: betik.php
$kısalar = "";
$kısalar .= "f:"; // Değer, zorunlu
$kısalar .= "v::"; // Değer, seçimlik
$kısalar .= "abc"; // Bunlar değer kabul etmez
$uzunlar = array(
"gerekli:", // Değer, zorunlu
"seçimlik::", // Değer, seçimlik
"seçenek", // Değer kabul etmez
"sçnk", // Değer kabul etmez
);
$seçenekler = getopt($kısalar, $uzunlar);
var_dump($seçenekler);
?>shell> php betik.php -f "f değeri" -v -a --gerekli değer --seçimlik="seçimlik değer" --seçenek
Yukarıdaki örneğin çıktısı:
array(6) {
["f"]=>
string(9) "f değeri"
["v"]=>
bool(false)
["a"]=>
bool(false)
["gerekli"]=>
string(6) "değer"
["seçimlik"]=>
string(16) "seçimlik değer"
["seçenek"]=>
bool(false)
}
Örnek 3 - getopt() ve çoklu-tek seçenek
Çok sayıda seçeneğin tek bir seçenek olarak verilmesi:
<?php
// Betik: betik.php
$options = getopt("abc");
var_dump($options);
?>shell> php betik.php -aaac
Yukarıdaki örneğin çıktısı:
array(2) {
["a"]=>
array(3) {
[0]=>
bool(false)
[1]=>
bool(false)
[2]=>
bool(false)
}
["c"]=>
bool(false)
}
Örnek 4 getopt() ve kalan_indisi
kullanımı
<?php
// Betik: 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
Yukarıdaki örneğin çıktısı:
array(1) {
[0]=>
string(4) "test"
}