📜  如何在PHP中读取用户或控制台输入?

📅  最后修改于: 2022-05-13 01:56:39.266000             🧑  作者: Mango

如何在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 。