Reputation: 32721
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?
Upvotes: 16
Views: 30017
Reputation: 88
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
Upvotes: 0
Reputation: 23231
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";
Upvotes: 6
Reputation: 7200
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
Upvotes: 20