php - 文法 - I/O ストリーム

 
1. 概要
2. 標準入力

1. 概要

 基本的には、PHP はウェブサイトで動かしているので、あまり、標準入出力を意識的に使ったことはないのですが、ちょっとした興味で・・・。  本項は「PHP: I/O ストリーム - Manual」を参考にさせていただきました。

2. 標準入力

 参考サイトを読んで初めて知りました。
<?php
$stdin = fopen('php://stdin', 'r');
?>
 という形式で標準入力をオープンすることができるのですな。  ただし STDIN というグローバルな定数があるので、これを使用すれば明示的にオープンすることはありません。  またこれを使用すれば、クローズする必要はなく、PHP がうまいことやってくれます。
<?php
	print("何か文字列を入力してください ");
	$line = trim(fgets(STDIN)); 			//	STDIN から 1 行読み込む
	print("入力された文字列は[$line]です\n");

	print("何か数字を入力してください ");
	$number = 0;
	fscanf(STDIN, "%d", $number); 			//	STDIN から数値を読み込む
	print("入力された数字は[$number]です\n");
?>
 というソースを作成して実行してみました。

> php ソースファイル
何か文字列を入力してください aaa
入力された文字列は[aaa]です
何か数字を入力してください 2
入力された数字は[2]です
 うまいこと動作しました。