php中readline与fread / fgets的区别

时间:2017-12-19 20:22:25

标签: php io readline fgets fread

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

// first
$inputLine = readline();

// second
$inputLine = fgets(STDIN);

他们俩都做得差不多,不是吗?

2 个答案:

答案 0 :(得分:1)

readline() 默认从 STDIN 读取输入,而 fgets() 从任何资源读取。此外, readline() 比 fgets() 需要更多时间来执行

答案 1 :(得分:0)

我能想到的唯一可能的区别就是readline()没有参数,默认情况下只能读取STDIN的输入,而fgets()可以接受任何resource阅读。因此,换句话说,readline()是带有第一个预定义参数的fgets的同义词,例如fprintf()printf()

请考虑以下事项:

fprintf(STDOUT, "hello!");
printf("hello!);

这在php标准库中很常见。