PHP的fwrite函数问题

WBOY
WBOYオリジナル
2016-06-06 20:28:041433ブラウズ

<code>
fwrite(STDOUT , "输入");
$msg = fgets(STDIN);

echo PHP_EOL . $msg . PHP_EOL;</code>

比如我键盘写 aa
$msg 就是 aa
我的问题是,$msg为什么不是 "输入" 或者 "输入aa",
而且为什么程序还会自己停在那里等我输入?
php不是应该直接往下执行的吗?

回复内容:

<code>
fwrite(STDOUT , "输入");
$msg = fgets(STDIN);

echo PHP_EOL . $msg . PHP_EOL;</code>

比如我键盘写 aa
$msg 就是 aa
我的问题是,$msg为什么不是 "输入" 或者 "输入aa",
而且为什么程序还会自己停在那里等我输入?
php不是应该直接往下执行的吗?

1、fgets 得到的是 STDIN 的输入,当然不包括“输入”这个字符串;
2、fgets 读取到换行符、EOF 或者指定长度(默认1K)的字符串时才会停止,随便输入几个字母当然不会停止;
3、PHP 是顺序执行

文件操作的文档
http://php.net/manual/zh/ref.filesystem.php

标准输入输出流的文档
http://php.net/manual/zh/wrappers.php.php

命令行模式开发的文档
http://php.net/manual/zh/features.commandline.php

如果学到了,记得给我打钱。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。