PHP数组打印意外输出格式


PHP array print unexpected output format

我试图在PHP 7中以反向顺序打印数组,但它以一种奇怪的方式打印。

<?php
$handle = fopen ("php://stdin","r");
fscanf($handle,"%d",$n);
$arr_temp = fgets($handle);
$arr = explode(" ",$arr_temp);
array_walk($arr,'intval');
$output = "";
for($i = $n - 1; $i>=0; $i--){
    $output .= $arr[$i] . " ";
}
print($output);
?>

输入:

4
1 2 3 4

我得到了输出:

4
 3 2 1 

为什么?

正如CodeBrauer所评论的那样,解决方案是在调用explode函数之前将输入字符串trim:

$arr = explode(" ", trim($arr_temp));