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

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

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

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

Q&A

解決済

5回答

2664閲覧

php 各教科の点数を表示 コードのロジック?

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

0グッド

0クリップ

投稿2017/11/28 06:39

編集2017/11/29 04:39

PHPの構文で、書いたコードのロジックが間違っているということを、わかりやすく説明して頂ける方、よろしくお願いいたします。

PHP

1 <?php 2 3 $scores = array ('数学' => 70,'英語' => 90, '国語' => 80 ); 4 foreach ( $scores as $key => $value ){ 5 echo $key.':'.$value.'点です'; 6 7 }

このコードで、
各教科の点数を表示させる処理をしたいのですが、
数学は70点です。
英語は90点です。
国語は80点です。のように出力されるようechoしたいので、上記のような構文を書きましたが出力されません。。。

'点です'は、上記の配列arrayの部分に入れるべきなのでしょうか?
よろしくお願いいたします。

====================以下追記になります====================

PHP

1echo $key.':'.$value.'点です'; 23 echo $key.'は'.$value.'点です';

にしたら課題としてはクリアできるらしいのですが、
その理由まで教えてくれませんでした。(しつこくもう一度質問投げました...笑 
どちらかといえば答えより理由が知りたいッ。)

実行環境は、勉強中ですので無料のオンラインサービス上で、スライドを見た後に実際に課題が出され、タグを書く、という練習をするサイトを利用しています。
始めたばかりなので難しいことはわかりません。
https://jp.piliapp.com/php-syntax-check/などで構文をチェックしながら課題を解いてますが、どうしても、シンタックスエラーにならなくても、課題としては次に進めないことが多く、
コードを正しく書くわけではなく、ロジックとして理解すればという言葉もあり、
(ロジックが何たるかは調べました。トップダウン形式に物事を考えてとか。)
しかし問題が解決している訳ではありません。。。

例えば、

PHP

1echo $key.':'.$value.'点です'; 23 echo $key.'は'.$value.'点です';

この違いをわかるためにはどうすればいいでしょう?

あ、書いているうちに自分が何につまずいているか、わかったような・・・・・・

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

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

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

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

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

m.ts10806

2017/11/28 06:58 編集

環境も併せて質問に追記してください(バージョン情報、実行環境、確認情報etc..)
arasi

2017/11/29 04:39

おそらく progate PHP Ⅰ 学習コース 繰り返し処理 foreach文ですね 何を回答すればいいのかよくわかりませんが
退会済みユーザー

退会済みユーザー

2017/11/29 04:41

そうです。それです。あー、変な思い違いをしてました。。。ようやく気がつきました。。。汗
退会済みユーザー

退会済みユーザー

2017/11/29 04:43 編集

いつもコード以前の問題につまずいてる気がします。余計こんがらがってしまう結果に。。。そしてみなさまを振り回してしまう結果に。。。すみません。でも、大変ありがとうございます。
dit.

2017/11/29 05:11

「echo $key.'は'.$value.'点です';」でクリアできるということは、単に課題の記述指定と違っていただけということでしょうか?「:」は「は」ではありませんからね。
m.ts10806

2017/11/29 05:58

ひとまず、何かしらで解決済みとする必要があります。回答の中から選ぶか、自分で回答を書いて自己解決とするか、いずれか対応してください。
guest

回答5

0

下記、提示コードそのままコピペでの実行結果です。

数学:70点です英語:90点です国語:80点です

問題なく動きます。

maisumakunさんの仰るようにそもそもPHPが正常に動作していないという可能性もありますが、
「出力されません。。。」とのことですが「何も出力されない」か「想定通り出力されない」かで違ってきます。
起きている現象を正確に質問に記載してください。
(エラーメッセージ等あればそちらも併せてご提示ください)

投稿2017/11/28 06:49

編集2017/11/28 07:05
m.ts10806

総合スコア80765

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

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

0

多少表記を調整する必要がある点を除けば、そんなに問題なさそうに思えます(3v4lでの出力結果)。

もし、「何も出ない」ということであれば、それはPHP自体が動いていない可能性もありますので、プログラム自体とは別問題になってきます。

投稿2017/11/28 06:43

maisumakun

総合スコア145123

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

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

0

問題なく動いていましたよ。

改行したいとのことであれば"\n"など追記してみてください。

投稿2017/11/28 06:46

hien

総合スコア69

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

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

0

ベストアンサー

改行されないってことでしょうか?
こうしてください。

PHP

1echo $key.':'.$value."点です\n";

追記分に関して。
「は」と出力しないといけないところを「:」で出力しているってだけのことでは?
リンク先は見ていませんが、自動で答え合わせをするようなシステムでしたら、出力する文言は一語一句一致していないと正解にはならないと思います。

投稿2017/11/28 06:45

編集2017/11/29 08:02
ttyp03

総合スコア16996

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

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

m.ts10806

2017/11/28 06:52

ブラウザから見るって観点からなら改行タグbr入れた方が良いですね・・。
ttyp03

2017/11/28 06:55

コード的にブラウザからって感じには読み取れなかったので、あえて改行コードのみとしました。 「ブラウザから実行すると」とか「コンソールから実行すると」とか一言あると良いのですけどね。
m.ts10806

2017/11/28 06:57

ああ、なるほど!ブラウザ前提で考えてました。
guest

0

あっていると思いますが何か問題がありますか?

PHP

1$scores = array('数学' => 70,'英語' => 90, '国語' => 80 ); 2foreach ($scores as $key => $value ){ 3 echo $key.'は'.$value.'点です。<br>'; 4}

投稿2017/11/28 06:44

yambejp

総合スコア114585

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問