PHPでargvを使う方法を現役エンジニアが解説

初心者向けにPHPで配列オブジェクトを使う方法について現役エンジニアが解説しています。PHPのargvとは、コマンドラインからPHPスクリプトを実行した時に渡す引数を格納するための配列変数です。コマンドラインから受け取った引数は、配列オブジェクトの$argvに格納されています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回は、PHPで配列オブジェクトを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPで配列オブジェクトを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

argvとは

PHPのargvとは、コマンドラインからPHPスクリプトを実行した時に渡す引数を格納するための配列変数です。

 

配列オブジェクトを使う方法

PHPスクリプト内でargvから引数を受け取る方法をみていきましょう。

$argv[i]

上記の通り、$argvは配列であるため、[]にインデックスを入れることでコマンドライン引数を受け取ることができます。

コマンドライン引数を受け取る際に一点注意点があります。

「$argv[0]」には、実行した「PHPファイル名」が格納されており、実際に引数として渡した値はインデックス「1」以降に格納されている状態です。

コマンドライン

$ php argv.php test1 test2

 

argv.php

<?php
var_dump($argv);
?>

 

出力結果

array(3) {
 [0]=>
 string(8) "argv.php"
 [1]=>
 string(5) "test1"
 [2]=>
 string(5) "test2"
}

上記の通り、インデックス「0」には、PHPファイル名、「1」以降には、コマンドライン引数が格納されていることが確認できます。

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、実際にコマンドラインからargvに引数を渡して、PHPスクリプト内で受け取る例を見ていきましょう。

コマンドライン

$ php argv.php test1 test2

 

argv.php

<?php
echo "1つ目のコマンドライン引数:".$argv[1]."\n";
echo "2つ目のコマンドライン引数:".$argv[2]."\n";
?>

 

出力結果

1つ目のコマンドライン引数:test1
2つ目のコマンドライン引数:test2

 

執筆してくれたメンター

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

PHPで配列オブジェクトを使う方法はよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。