サンプル集  >  PHP  >  コマンドライン引数
コマンドライン引数
2009/03/27

言語によってコマンドライン引数は 0 からはじまったり、1 から始まったりしていつも混乱します。 PHP はどうだったか確認します。

◆環境
OS Windows XP Professional Version 2002 Service Pack 2
PHP 5.2.4

argvTest.php
1: 
2: 
3: 
4: 
5: 
6: 
7: 
<?php
echo $argv."\n";
for ( $i = 0; $i < count( $argv ); $i = $i + 1 )
{
    echo $i.":[".$argv[$i]."]\n";
}
?>

◆実行結果
>php argvTest.php
Array
0:[argvTest.php]

>php argvTest.php 1 2 3
Array
0:[argvTest.php]
1:[1]
2:[2]
3:[3]

>php ..\src\argvTest.php 1 2 3
Array
0:[..\src\argvTest.php]
1:[1]
2:[2]
3:[3]

0 番目には実行コマンド?が入っているようです。

ちなみに、配列の範囲外の添え字を指定したらどうなるでしょうか? 試してみました。

引数の数にかかわらず、固定で 3 番目の要素を表示する php を作成しました。

argvTest2.php
1: 
2: 
3: 
<?php
echo count( $argv ).":[".$argv[3]."]\n";
?>

◆実行結果
>php argvTest2.php
1:[]

>php argvTest2.php 1 2 3
4:[3]

配列のサイズより大きい添え字でもエラーにならないですね。。。 php 恐るべし。

▲ PageTop  ■ Home


Copyright (C) 2012 ymlib.com