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

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

ただいまの
回答率

91.33%

  • PHP

    15222questions

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

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

解決済

回答 5

投稿 2017/11/28 15:39 ・編集 2017/11/29 13:39

  • 評価
  • クリップ 0
  • VIEW 144

kanao

score 3

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

 <?php

    $scores = array ('数学' => 70,'英語' => 90, '国語' => 80 );
    foreach ( $scores as $key => $value ){
      echo $key.':'.$value.'点です';

    }

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

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

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

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


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

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

例えば、

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • dit.

    2017/11/29 14:11

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

    キャンセル

  • mts10806

    2017/11/29 14:58

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

    キャンセル

  • mts10806

    2017/11/30 17:06

    どこを解決の落としどころとしたのでしょうか・・?https://teratail.com/help/question-tips#questionTips4-2

    キャンセル

回答 5

+5

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

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

投稿 2017/11/28 15:43

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+5

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

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

問題なく動きます。

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

投稿 2017/11/28 15:49

編集 2017/11/28 16:05

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+2

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

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

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

投稿 2017/11/28 15:45

編集 2017/11/29 17:02

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/28 15:52

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

    キャンセル

  • 2017/11/28 15:55

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

    キャンセル

  • 2017/11/28 15:57

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

    キャンセル

+2

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

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

投稿 2017/11/28 15:46

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

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

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

投稿 2017/11/28 15:44

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

ただいまの回答率

91.33%

関連した質問

同じタグがついた質問を見る

  • PHP

    15222questions

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