質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1260閲覧

標準入力で取得した値の計算がよくわからない

oitama

総合スコア8

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/04/24 14:57

前提・実現したいこと

以下の場合 1行目が1、2行目が3 と、このように、次の行に行くたびに
(今の行の値 - 前の行の値) を出力したい。

例 以下の場合 (二行目の値 3 - 一行目の値  1 で結果が 2 )となる感じです.

これを最後の行まで続けて
出力したいのですが、自分では、お手上げです....どうしたらよいでしょうか?

######標準出力
1
3
7
9
10

該当のソースコード

while( $x = trim( fgets ( STDIN ))){

}

期待する出力

2 4 2 1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oitama

2020/04/25 01:11

何度も指摘ありがとうございます。マークダウンについては自分では使っているつもりでした。 もう一度一から覚えてみます。
m.ts10806

2020/04/25 01:14

質問は何度でも編集できますし、マークダウンのコードのことであれば前の質問で別の質問を紹介しています。
guest

回答1

0

ベストアンサー

1つ前の値を、変数に保存しておく必要があります。

投稿2020/04/24 15:15

otn

総合スコア84788

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oitama

2020/04/25 01:13

ありがとうございます。その1つ前の変数はどのようにコードを変更したらできるでしょうか?
otn

2020/04/25 01:28

「変数」という概念は理解できていますか? 理解できているとして、「変数に代入」はわかりますか?
oitama

2020/04/25 01:41

存じてます。標準入力が5行なら変数に入れることはできます。 ですが、もしそれが20行とかになるとわかりません。
otn

2020/04/25 01:46 編集

失礼しました。コードを質問文に書いておきながら、中身を全く理解していない質問者も多いので。 $last = $x; とすると、その時点での最新の行を保存出来るので、次の繰り返しで$lastを使います。 ループに入る前の、初期値としては $last = trim( fgets ( STDIN )); と1行目を入れておきます。
oitama

2020/04/25 02:20

コードで実行した結果 $last = trim(fgets(STDIN)); while( $x = trim( fgets ( STDIN ))){ $x= $last; $result= $x-$last; echo $result; } 出力結果 2 6 8 9 となりました。$x= $last;の場所が違うのでしょうか?
oitama

2020/04/25 02:21

出力結果は2 6 8 9ではなく 0 0 0 0でした。
otn

2020/04/25 02:43

代入する方向も、位置も違います。 代入した直後に引いたら両方同じなので、差は0ですよ。 $result= $x-$last; echo $result; $last = $x; です。
oitama

2020/04/25 02:47

ありがとうございます!解決することができました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問