getopt

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

getoptKomut satırı bağımsız değişkenleri listesinden seçenekleri döndürür

Açıklama

getopt(string$kısa_seçenekler, array$uzun_seçenekler = [], int&$kalan_indisi = null): array|false

Betiğe aktarılan seçenekleri çözümler.

Bağımsız Değişkenler

kısa_seçenekler
Bir dizge olup, dizgenin her karakteri bir seçenek karakteri olarak kullanılır ve bu karakterlerle eşleşen seçenekler önlerine birer tire imi (-) 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
Bir dizi olup, dizinin her elemanı bir seçenek dizgesi olarak kullanılır ve bu dizgelerle eşleşen seçenekler önlerine birer çift tire imi (--) 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:

  • Tek tek karakterler (değerler kabul edilmez)
  • Ardına tek bir iki nokta imi konmuş karakterler (bağımsız değişkenin değer gerektirdiğini belirtir)
  • Ardına bir çift iki nokta imi konmuş karakterler (bağımsız değişkenin isteğe bağlı değer kabul ettiğini belirtir)
Seçenek değerleri dizgeden sonraki ilk bağımsız değişkendir. Bir değer gerekliyse değerin sonunda boşluk bulunup bulunmadığına bakılmaz.

Bilginize: İsteğe bağlı değerler bir ayraç olarak " " (boşluk) kabul etmezler.

uzun_seçenekler dizisinin içerebileceği değerler:

  • Sizge (bağımsız değişken değer kabul etmez)
  • Ardına tek bir iki nokta imi konmuş dizge (bağımsız değişken değer gerektirir)
  • Ardına bir çift iki nokta imi konmuş dizge (seçimlik değer)

Bilginize:

kısa_seçenekler ve uzun_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.

Dönen Değerler

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 Bilgisi

Sürüm: Açıklama
7.1.0kalan_indisi bağımsız değişkeni eklendi.

Örnekler

Ö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" }

Ayrıca Bakınız

To Top