(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
Betiğ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_indisi
kalan_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çenekler
veuzun_seçenekler
iç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" }