PHP 5.2 Console_Getopt kullanarak, ve diğer dillerde (perl, bash, java) yılında getopt ne kadar farklı hakkında şaşırtıcı buluyorum. Herkes diziden args ayrıştırmak için nasıl tavsiye edebilirim "$ seçmesi" döndü?
php myprog.php-a vara-c-b varB
$o= new Console_Getopt;
$opts = $o->getopt($argv, "a:b:c");
print_r($opts);
/ / Print_r altına döndürür
Array
(
[0] => Array
(
[0] => Array
(
[0] => a
[1] => varA
)
[1] => Array
(
[0] => c
[1] =>
)
[2] => Array
(
[0] => b
[1] => varB
)
)
[1] => Array
(
)
)
Ben uzun soluklu aşağıda gibi bir şey, yapmaya başladı, bu yüzden php komut satırı bayrakları ile ilgili önerileri arıyorum.
foreach($opts[0] as $i -> $keyval) {
list($key, $val) = $keyval;
if($key == 'a') {
print "valueForA: $val\n";
} else if($key == 'b') {
print "valueForB: $val\n";
} else if($key == 'c') {
print "c is set\n";
}
}
Bayrak örneğin $ seçmesidir {'a'} dizinin anahtar nerede PHP'nin getopt, Perl gibi değil bu yüzden ben bu uygun olurdu .. merak ediyorum.