Em PHP, o console é uma interface de linha de comando, também chamada de shell interativo . Podemos acessá-lo digitando o seguinte comando em um terminal:

php -a

Se digitarmos qualquer código PHP no shell e pressionarmos enter, ele é executado diretamente e exibe a saída ou mostra as mensagens de erro em caso de algum erro. Um exemplo de execução de um código PHP, que lê a entrada do console PHP, tem a seguinte aparência:

Neste artigo, discutiremos dois métodos para ler o console ou a entrada do usuário em PHP:

Método 1: O uso da função readline() é uma função embutida no PHP. Esta função é usada para ler a entrada do console.
As seguintes coisas podem ser alcançadas pela função readline() :

  • Aceite uma única entrada solicitando ao usuário:




    <?php
      
    // For input
    // Hello World
    $a = readline('Enter a string: ');
      
    // For output
    echo $a;    
    ?>

    Saída:



    Insira uma string: GeeksforGeeks
    GeeksforGeeks

    Por padrão, o tipo de dados da variável aceita por meio da função readline() é string . Portanto, para qualquer outro tipo de dados, temos que typecast explicitamente conforme descrito abaixo.




    <?php
       
    // Input section
    // $a = 10
    $a = (int)readline('Enter an integer: ');
      
    // $b = 9.78
    $b = (float)readline('Enter a floating'
                . ' point number: ');
      
    // Entered integer is 10 and
    // entered float is 9.78
    echo "Entered integer is " . $a 
        . " and entered float is " . $b;
    ?>

    Saída:

    Insira um número inteiro: 10
    Insira um número de ponto flutuante: 9,78
    O número inteiro inserido é 10 e o número flutuante inserido é 9,78
  • Podemos conseguir as mesmas coisas sem avisar o usuário também:
    $a = readline();

    Neste caso, assim que o usuário pressiona enter , o valor inserido é armazenado na variável a .

  • Aceite várias entradas separadas por espaço: Para isso, usamos outra função explode() junto com readline() . O primeiro argumento de explode() é o delimitador que queremos usar. No exemplo acima, o delimitador é o espaço . O segundo argumento é a função readline() . Aqui também os tipos de dados de $var1 e $var2 serão string. Portanto, temos que fazer um typecast separadamente para outros tipos de dados. No exemplo acima, o typecasting é mostrado para inteiros.




    <?php
       
    // Input 10 20
    list($var1, $var2
            = explode(' ', readline());
       
    // Typecasting to integers
    $var1 = (int)$var1;
    $var2 = (int)$var2;
       
    // Printing the sum of var1 and var2.
    // The sum of 10 and 20 is 30
    echo "The sum of " . $var1 . " and "
        . $var2 . " is " . ($var1 + $var2);
    ?>

    Resultado:
    a soma de 10 e 20 é 30

  • Também podemos ler um array por meio de explode():




    <?php
       
    // For input
    // 1 2 3 4 5 6
    $arr = explode(' ', readline());
      
    // For output
    print_r($arr);
      
    /*Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
    )*/
       
    ?>

    Saída:

    Variedade
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
    )

Método 2: Usar a função fscanf() funciona da mesma forma que a função fscanf() em C. Podemos ler 2 inteiros do teclado (STDIN) como abaixo:

  • Isso é diferente do método anterior




    <?php
      
    // Input 1 5
    fscanf(STDIN, "%d %d", $a, $b);
       
    // Output
    // The sum of 1 and 5 is 6
    echo "The sum of " . $a . " and "
        . $b . " is " . ($a + $b);
    ?>

    Saída:

    A soma de 1 e 5 é 6

Comparação entre dois métodos:

  • Não há necessidade de usar typecasting explícito para a função fscanf() , porque isso é feito pelos especificadores de formato, por exemplo, % d , % f , % c etc. Você pode ler mais sobre especificadores de formato .
  • A função fscanf() é muito mais rápida do que a função readline().

PHP é uma linguagem de script do lado do servidor projetada especificamente para desenvolvimento web. Você pode aprender PHP do zero seguindo este Tutorial e exemplos de PHP .