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

phpのライブラリ(mcrypt)インストール

先日、ローカルで開発していたPHPをサーバーにアップして、composerでライブラリをアップデートしようとしたところ、 "The mcrypt extension is missing. Please check your PHP configuration." なるエラー …

no image

ファイルポインタ関連の操作に関して

CSVの読み込みに関してファイルポインタ関連で色々と整理することがあったのでメモ。 Contents1 今回やりたかった処理2 ファイルポインタとは 今回やりたかった処理 CSVファイルを読み込み(文 …

no image

switch(true)イディオム

switch文は通常、文字や数字で分岐をさせることが多いですが、実は条件式を入れることも可能です。 私の場合、正規表現を動的に変えたいケースがあり、検索したところ似たケースがありました。 【JavaS …

no image

dateTimeの使い方

phpの日付ライブラリであるdateTimeについて。 Contents1 過去のリンク2 頻出表現3 リンク 過去のリンク CakePHP3 日付ライブラリ(Time)について http://ski …

no image

Cakeの共通処理

CakePHPだけに限りませんが、フレームワークの場合、オブジェクト指向の特徴を理解して、全ページに共通な処理などは個々のコントローラーに書くのではなく、もっと抽象度の高いクラスに書いたほうが保守性が …

アーカイブ