skillup

技術ブログ

PHP

PHPでのコンソール入力に関して

投稿日:2015年10月19日 更新日:

PHPはほとんどの場合、ブラウザでURLをたたいてWEBサーバーから呼び出されるパターンがほとんどです。

ところが、コンソールから使いたい場合などもあるでしょう。

コンソールから入力する場合、なんらかの引数を入力するとなると、標準入力を使って対話形式で読み込む方法と引数を直接渡す方法があります。

プログラム自体はものすごくシンプルなのでリンクの紹介をします。

標準入力の場合

PHPで標準入力を行う方法

PHPで標準入力

注意点としては何度も読み込む場合はwhileなどでループさせましょう。

ループ回数と出力メッセージタイミングをそろえるのが意外と難しい・・・

引数を使用する場合

PHPでコマンドライン実行時のパラメータ(引数)取得 - $argv、$argc

注意点としては

インデックスが1からスタート

$argvはインデックスが0ではなく1から始まります。

区切り

引数は半角スペースで自動的に区切られます。

sample.php  hoge  foo

とした時点で$argv[1]=hoge , $argv[2]=fooになります。

引数を入力するときはクオートを付けると1つの引数とみなされます。

sample.php  ”hoge  foo ”とやってしまうと $argv[1]=”hoge foo” になってしまいます。

-PHP

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ループ処理+switch

PHPでちょっと小ネタ foreachやwhileのようなループを抜けるときにcontinueを使うんですが、その中にswitchが入っていると、switchに対してのcontinueがきいてしまって …

no image

laravelでのredis活用

以前下記エントリーでredisの活用について書きました。 インメモリデータベース redis 一般的な使用法ですと登録できるデータはstring,list,hashのような比較的単純な形しか登録できな …

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

インメモリデータベース redis

インメモリデータベースのredis(レディース)について。 キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。 Content …

no image

cakeでのUtilityメソッド

cakeではControllerから呼ぶメソッドはComponent,ModelはBehavior、ViewはHelperに記述するのが一般的です。 ところが、プログラムを書いているとUtility系 …

アーカイブ