@MoeriTagawa

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

複数行を1活で出力したいです

Q&A

解決したいこと

「10 個の文字列 S_1, S_2, S_3, ..., S_10 が改行区切りで与えられます。
これらの文字列をすべて、半角スペース区切りで出力してください。」

「$input1 = trim(fget(STDIN));
$input2 = trim(fget(STDIN));
: 」
ではなく、
複数行を一文でパパーっと魔法みたいに出したいです。
いちいち書くのめんどくさいし、paizaで10行、100行出力の問題があるから絶対何か裏技があるはずです。
ですが、調べても調べても出てきません。
誰か教えてください。

<入力値>
S_1
S_2
S_3
...
S_10

<出力値>
S_1 S_2 S_3 ... S_10

例)
<入力値>
q
bpdi
u
ky
meqt
rrnc
co
jjw
e
fwio

<出力値>
q bpdi u ky meqt rrnc co jjw e fwio

0 likes

1Answer

↓こう言うことでしょうか?

<?php
$result = "";
while (($input = fgets(STDIN)) != false) {
    if (strlen($result) > 0) $result .= " ";
    $result .= trim($input);
}
echo $result;
?>

それとも、上のコードを1行で書きたい、と言うことでしょうか?

1Like

Comments

  1. 1行で書けました。(入力が65535バイト以内という制約が付きます)

    <?php
    echo implode(" ", explode("\n", fread(STDIN, 65535)));
    ?>
    

    explode implode 関数名が、なんか面白い

  2. @MoeriTagawa

    Questioner

    そうです!それです!!
    ありがとうございます!!

  3. @MoeriTagawa

    Questioner

    1行のもありがとうございます!凄いですね!

Your answer might help someone💌