2016-04-17 8 views
1

getoptで見つかったオプションを$ argvから簡単に削除できますか?getoptで見つかったオプションをargvから削除する

基本的に、私は)(のgetopt =私の$オプション

php trout.php --plugin dozer /opt/webapplications/Word/readme.log 

を持っています。 I私はちょうど

Array 
(
    [0] => /opt/webapplications/Word/readme.log 
) 

を持っているの$ ARGVを希望

Array 
(
    [0] => --plugin 
    [1] => dozer 
    [2] => /opt/webapplications/Word/readme.log 
) 

...

Array 
(
    [plugin] => dozer 
) 

と$ ARGVには、次のを持っている必要があり、私は最初の配列をポップするarray_shiftがある知っています要素をオフにして、過去のループを見てきましたが、$ argvがすべての要素をポップアップしてループしていますが、ネイティブのPHPでこれを行うためのすばやく簡単な方法があるかどうか疑問に思っています...

答えて

0

これは、私はそれを考慮に入れ、このような「=」で指定されたオプションになりません

function __construct($args) { 

    $this->options = getopt($this->shortopts, $this->longopts); 

    array_shift($args); 

    while(count($args) > 1) { 

     if (strpos($args[0], '-') !== false && strpos($args[0], '-') == 0) { 

      array_shift($args); 

      if(in_array($args[0], $this->options)) { 

       array_shift($args); 
      } 
     } 
     else { 

      break; 
     } 
    } 

    $this->args = $args; 
} 
+0

使用して終了するものである:--plugin =ドーザ –

関連する問題