Как получить пользовательский ввод для оператора switch в php?


Как указано выше, я пытаюсь получить пользовательский ввод в свой PHP-скрипт для выполнения дальнейших задач. Есть ли в PHP какой-либо метод для получения пользовательского ввода, например 'scanf()', используемый в C

<?php
echo "Swapping Numbers </br> Please select the method: </br>";
echo "1. Using 3rd variable </br> 2. Using add/sub </br> 3. Using mul/div";
//read user input $choice
switch($choice)
{
case 1:
        break;
case 2:
    break;
case 3:
    break;
default:
        echo "</br>You entered wrong choice";
}
?>
Author: Vilas Galave, 2015-07-07

3 answers

Константа STDIN предварительно определена и доступна для немедленного использования.

Вы можете получить пользовательский ввод с помощью fgets и fscanf

<?php
$line = trim(fgets(STDIN));     // reads one line from STDIN
fscanf(STDIN, "%d\n", $number); // reads number from STDIN

Например

<?php
echo "Enter a number: ";
fscanf(STDIN, "%d\n", $number);
switch ($number) {
  case 1: echo "one\n"; break;
  case 2: echo "two\n"; break;
  case 3: echo "three\n"; break;
  default: echo "I can't count that high\n";
}

Ознакомьтесь с документами ввода-вывода для получения более подробной информации

 4
Author: user633183, 2015-07-07 07:26:00

Вы должны использовать строку чтения() :

var_dump(readline('Enter number: '));
 1
Author: aeryaguzov, 2015-07-07 07:35:03

Вы можете обрабатывать пользовательский ввод из элемента формы или из URL-адреса. в вашем случае вы можете использовать вот так.

$choice = $_GET['choise'];

Пользователь будет вводить вот так

http://localhost/your_file_name.php?choise=option

Чем вы должны использовать свой переключатель

switch($choice)
{
case 1:
        break;
case 2:
    break;
case 3:
    break;
default:
        echo "</br>You entered wrong choice";
}
?>
 0
Author: Saedawke, 2015-07-07 07:21:36