如何在php中扫描整行?

时间:2013-12-27 07:49:38

标签: php

我正在尝试扫描整行,但我的代码只占用第一个字符,然后跳转到下一行。这是我正在尝试做的事情:

<?php
$n_matrix_val=4;
for ($y = 1; $y <= $n_matricx_val; $y++) {
   fscanf(STDIN ,"%s\n", $the_matricx_val);
   fwrite(STDOUT, $the_matricx_val);
}

我的意见是:

5 8 9 7
3 4 9 8
1 5 4 9
3 2 7 6

我的出局是:

5313

我是新手,我正在尝试解决小问题请帮忙

3 个答案:

答案 0 :(得分:3)

你的模式错了。试试这个。

$n_matrix_val = 4;
for ($y = 1; $y <= $n_matrix_val; $y++)
    {
    $the_matricx_val = fscanf(STDIN, "%s %s %s %s");
    fwrite(STDOUT, implode(' ', $the_matricx_val) . PHP_EOL);
    }

但是如果你想阅读整行,只需使用fgets

    $the_matricx_val = fgets(STDIN);
    fwrite(STDOUT, $the_matricx_val);

答案 1 :(得分:0)

使用"%[^\n]s"获取整行:

$n_matricx_val=4;

for($y=1;$y<=$n_matricx_val;$y++)
{
    fscanf(STDIN ,"%[^\n]s", $the_matricx_val);
    fwrite(STDOUT, $the_matricx_val . "\n");
}

答案 2 :(得分:0)

你也可以这样做:

<?php 
    $i=trim(fgets(STDIN));
?>

此代码将为您提供全线。

相关问题