Question

I use gets to get an user input in Ruby.

# in 0015.rb
input_num = gets.to_i
p "Your input number is #{input_num}."

And I use it in a terminal.

➜  rubytest: ruby 0015.rb
24
"Your input number is 24."    

Can I do like this in PHP with terminal?

Was it helpful?

Solution

I think you are looking for the readline function

$number = readline("Enter a number: ");
echo 'You picked the number: '.$number;

http://www.php.net/manual/en/function.readline.php

OTHER TIPS

If you don't have readline installed, -or- you're writing a library, you should do this:

if (!function_exists('readline')) {
    function readline($question)
    {
        $fh = fopen('php://stdin', 'r');
        echo $question;
        $userInput = trim(fgets($fh));
        fclose($fh);

        return $userInput;
    }
}

$age = readline('What is your age? ');
echo "You are $age years old.\n";

You can use readline function. But if you search for array input then you have to also use explode function. See given example for get array input,

<?php 
    //input 1 6 5
    $a = explode(' ', readline()); //read array
    for($i=0;$i<sizeof($a);$i++)
    {
       echo $a[$i]." ";
    }

?> 
Output:
1 6 5

Using fscanf() function works same as the fscanf() function in C. We can read 2 integers from Keyboard(STDIN) as below:

This is defferent from the previous method

<?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); 
?> 


Output:
The sum of 1 and 5 is 6

For more example Link

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top