PHP程序接受用户输入并在输入零时终止

PHP程序接受用户输入并在输入零时终止,php,command-line,Php,Command Line,我是在一个星期五偶然发现这个节目的。问题是 完成程序,从用户输入的数字列表中打印负数、正偶数、正奇数之和。当输入的数字为零时,列表终止。我的密码是 $nums = array(); while(trim(fgets(STDIN)) != 0){ array_push($nums,trim(fgets(STDIN))); } 我知道代码不完整,但我想做的是将输入推送到数组,然后计算和。当我打印($nums)它给我的数组时 Array ( [0] => 34 [1]

我是在一个星期五偶然发现这个节目的。问题是 完成程序,从用户输入的数字列表中打印负数、正偶数、正奇数之和。当输入的数字为零时,列表终止。我的密码是

$nums = array();

while(trim(fgets(STDIN)) != 0){
    array_push($nums,trim(fgets(STDIN)));
}
我知道代码不完整,但我想做的是将输入推送到数组,然后计算和。当我打印($nums)它给我的数组时

Array
(
    [0] => 34
    [1] => 32
    [2] => 45
    [3] => 0
)
我的意见是

 12
 34
 12
 32
 12
 45
 12
 0
 0
我不知道这是怎么回事。请帮助我,提前谢谢。

您在代码中调用fgets(STDIN)两次,我对其进行了一些调整,以使数组部分正常工作。作业的其余部分我会让你弄清楚;)提示:使用模数运算符

$nums = array();

do {
    $number = (int) trim(fgets(STDIN));
    array_push($nums,$number);
} while ($number !== 0);

print_r($nums);
此外,如果您使用的是PHP5.6或更高版本,则可以使用短数组语法,如下所示:

$nums = [];

$nums[] = $number;