skillup

技術ブログ

PHP

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

投稿日:

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

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

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

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

標準入力の場合

http://mikaduki.info/webprogram/php/983/

http://qiita.com/kiimiiis/items/89ac68e5f7451bf64d1a

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

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

引数を使用する場合

http://qiita.com/aic0o/items/91ca1ddc1fc6e025286f

注意点としては

インデックスが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

mb_convert_encodingに関して(文字コードの自動検出やその周辺)

以前Perlでもやりましたが、文字コードの自動検出に関して。 ちなみにcp932=SJIS-WINです。 参考リンク Perlでの動的改行コード読み込みに関して+cp932ネタ PHPの場合、mb_d …

no image

Laravelでのアプリ間のログイン連携

実務でLaravelで複数のアプリを作成し、アプリ同士でログイン連携をさせるという機能が実務であったため、メモします。 例えばhttp://example.comという売上管理のアプリでログイン認証を …

no image

PHPの配列操作

ながらく放置してました・・・ PHPを久々にやったんですが、やっぱり配列の関数・ライブラリが充実している分、作業がサクサクすすみますね。配列の操作でいろいろと学ぶところがあったんで掲載します。 Con …

no image

Shift_JISの5C問題について 全角ハイフンでエスケープ

エンジニアであればだれもが頭を悩ませる文字コード。 私も初期のころはこれのせいでデータが入らないとかおかしくなるなんてことがさんざんありました。 今でも文字コードに遭遇することはあるんですが大体のパタ …

no image

emptyの扱いに関して

PHPで空白や存在確認として便利なemptyですが、乱用すると意図しない動きをすることがあるケースが多々あります。 Contents1 emptyの挙動に関して2 数値の03 検索などの全判定と値のな …