getopt

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

getoptKomut satırı değiştirgeleri listesinden seçenekleri döndürür

Açıklama

getopt ( string $kısa_seçenekler [, array $uzun_seçenekler ] ) : array

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

Değiştirgeler

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.
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.

Bilginize: PHP 5.3.0 öncesinde bu değiştirge sadece bir kaç sistemde kullanılabiliyordu.

kısa_seçenekler değiştirgesi şu bileşenleri içerebilir:

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

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

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

Bu işlev başarısız olursa FALSE, aksi takdirde seçenek / değiştirge çiftlerini içeren bir dizi döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
5.3.0 Değiştirge/değer ayracı olarak "=" desteği eklendi.
5.3.0 İsteğe bağlı değerler için destek eklendi ("::" ile belirtilir).
5.3.0 İşlev sisteme bağlı olmaktan çıktı. Artık Windows üzerinde de çalışmaktadır.

Örnekler

Örnek 1 - getopt() örneği - 1

<?php
$options 
getopt("f:hp:");
var_dump($options);
?>

Yukarıdaki betik php betik.php -fdeğer -h komut satırı için aşağıdaki çıktıyı üretir:

array(2) {
  ["f"]=>
  string(5) "değer"
  ["h"]=>
  bool(false)
}

Örnek 2 - getopt() örneği - 2

<?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);
?>

Yukarıdaki betik php betik.php -f "f değeri" -v -a --gerekli değer --seçimlik="seçimlik değer" --seçenek komut satırı için aşağıdaki çıktıyı üretir:

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() örneği - 3

Çok sayıda seçeneğin tek bir seçenek olarak verilmesi:

<?php
$options 
getopt("abc");
var_dump($options);
?>

Yukarıdaki betik php betik.php -aaac komut satırı için aşağıdaki çıktıyı üretir:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}