php中readline与fread/fgets的区别
我以前一直在控制台命令中使用php中readline与fread/fgets的区别,php,io,readline,fgets,fread,Php,Io,Readline,Fgets,Fread,我以前一直在控制台命令中使用readline,但今天我遇到了fread和fgets函数,我的问题是:使用这两种方法有什么区别: // first $inputLine = readline(); // second $inputLine = fgets(STDIN); 它们的功能几乎相同,不是吗?我能想到的唯一可能的区别是,readline()默认情况下不带参数,只能从STDIN读取输入,而fgets()可以读取任何资源。因此,换句话说,readline()是具有第一个预定义参数的fgets
readline
,但今天我遇到了fread
和fgets
函数,我的问题是:使用这两种方法有什么区别:
// first
$inputLine = readline();
// second
$inputLine = fgets(STDIN);
它们的功能几乎相同,不是吗?我能想到的唯一可能的区别是,
readline()
默认情况下不带参数,只能从STDIN
读取输入,而fgets()
可以读取任何资源。因此,换句话说,readline()
是具有第一个预定义参数的fgets
的同义词,例如,fprintf()
和printf()
考虑以下几点:
fprintf(STDOUT, "hello!");
printf("hello!);
这在php标准库中非常常见。readline()默认从STDIN读取输入,而fgets()从任何资源读取。另外,readline()比fgets()执行要花更多的时间,我对php中的readline()
不太熟悉。。。我只使用过fgets()
;)你可以写一个基准测试,看看是否真的有很大的区别。否则,它可能会恰好是您喜欢的。文件指针会起作用,但我现在对它们不太熟悉,更多信息: