저는 몇 가지 옵션 스위치로 유닉스 콘솔에서 실행되는 PHP 코드를 작성하고 있습니다. 스크립트에서 스위치를 인식하는 데 문제가 있습니다.
나는, 그러나으로 표시되지 않습니다, 콘솔에서 'V'스위치 코드에서 포착 될 것으로 기대 이런 식으로
./<scriptname>.php v
을 스크립트를 실행합니다. 이것은 그것을 집어 들기위한 코드입니다.
global $argv; // specified, but probably not needed
$verbose = array_key_exists("v", $argv); // should work but it doesn't!
// $verbose= isset($_GET["v"]); // tried, but doesn't work because it's run from console
그러나 라인 var_dump($argv);
출력 불구
false
이다)
array(2) {
[0]=>
string(21) "./<scriptname>.php"
[1]=>
string(1) "v"
}
다음 줄 echo "\nverbose: :$verbose:\n";
출력 verbose: ::
.
왜? 많은 감사!
찰흙을! 고맙습니다. – TomaszRykala
이것에 더해서 나는 왜 왜 array_key_exists()를 사용하는지 알지 못한다 -'isset ($ array [$ key])'는 동일하고 훨씬 빠르다 (그는 마이크로 최적화라고 말했다) – DaveRandom
팁 @DaveRandom을 가져 주셔서 감사합니다. – TomaszRykala