(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
getopt — Komut satırı değiştirgeleri 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_indisi
kalan_indisi
değiştirgesi belirtilmişse,
değiştirge çözümlemesinin durduğu indis bu değişkene yazılacaktır.
kısa_seçenekler
değiştirgesi ş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.
Değiştirge ç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 değiştirgesi 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
$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
Yukarıdaki örneğin çıktısı:
array(1) { [0]=> string(4) "test" }