PHP 中 readline 与 fread/fgets 的区别

hve*_*ous 5 php io fgets readline fread

我以前一直readline在控制台命令中使用,但今天我遇到了freadfgets函数,我的问题是:使用这两种方法有什么区别:

// first
$inputLine = readline();

// second
$inputLine = fgets(STDIN);
Run Code Online (Sandbox Code Playgroud)

他们的做法几乎相同,不是吗?

hve*_*ous -1

我能想到的唯一可能的区别是不带任何参数,默认情况下readline()只能读取输入,同时可以读取任何输入。因此,换句话说,它是第一个预定义参数的同义词,例如and 。STDINfgets()resourcereadline()fgetsfprintf()printf()

考虑以下:

fprintf(STDOUT, "hello!");
printf("hello!);
Run Code Online (Sandbox Code Playgroud)

这在 php 标准库中很常见。