如何在PHP中读取用户或控制台输入?
在PHP中,控制台是一个命令行界面,也称为交互式 shell 。我们可以通过在终端中输入以下命令来访问它:
php -a
如果我们在 shell 中键入任何PHP代码并按回车键,它会直接执行并显示输出或在出现任何错误时显示错误消息。从PHP控制台读取输入的PHP代码示例运行如下所示:
在本文中,我们将讨论在PHP中读取控制台或用户输入的两种方法:
方法一:使用readline()函数是PHP的内置函数。该函数用于读取控制台输入。
通过readline()函数可以实现以下功能:
- 通过提示用户接受单个输入:
PHP
PHP
PHP
PHP
1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)*/
?>
PHP
输出:
Enter a string: GeeksforGeeks
GeeksforGeeks
- 默认情况下,通过 readline()函数接受的变量的数据类型是字符串 。因此,对于任何其他数据类型,我们必须如下所述对其进行显式类型转换。
PHP
输出:
Enter an integer: 10
Enter a floating point number: 9.78
Entered integer is 10 and entered float is 9.78
- 我们也可以在不提示用户的情况下实现相同的目标:
$a = readline();
- 在这种情况下,只要用户点击enter ,输入的值就会存储在变量a中。
- 接受多个空格分隔的输入:为此,我们将另一个函数explode()与readline( ) 一起使用。 explode()的第一个参数是我们要使用的分隔符。在上面的例子中,分隔符是空格。第二个参数是readline()函数。这里 $var1 和 $var2 的数据类型也将是字符串。所以我们必须为其他数据类型分别进行类型转换。在上面的示例中,显示了整数的类型转换。
PHP
输出:
10 和 20 的和是 30
- 我们也可以通过explode()读取一个数组:
PHP
1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)*/
?>
输出:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
方法 2:使用 fscanf()函数的工作方式与 C 中的 fscanf()函数相同。我们可以从 Keyboard(STDIN) 中读取 2 个整数,如下所示:
- 这与之前的方法不同
PHP
输出:
The sum of 1 and 5 is 6
两种方法的比较:
- 不需要对fscanf()函数使用显式类型转换,因为它是由格式说明符完成的,例如%d 、 %f 、 %c等。您可以阅读有关格式说明符的更多信息。
- fscanf()函数比 readline()函数快得多。
PHP是一种专门为 Web 开发而设计的服务器端脚本语言。您可以按照此PHP教程和PHP示例从头开始学习PHP 。