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

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

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

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

Q&A

解決済

4回答

1793閲覧

foreachを使った連想配列についての質問

ai5

総合スコア40

PHP

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

0グッド

0クリップ

投稿2016/07/22 07:44

■現状
PHPの基礎から勉強していて、分からないことは本やネットで
調べてその都度解決しています。

■分からない問題
$food = array( 'name' => 'チョコレート', 'type'=>'お菓子');

foreach
( $food as $key => $value ) {
echo "キー: " .$key ."、値: " .$value;
}

→なぜ出力が次のようになるのかわかりません(特にチョコレートとキーが一緒になってる)
キー: name、値: チョコレートキー: type、値: お菓子

連想配列の基礎問題はわかるのですが、今回の問題では( $food as $key => $value )と定義づけた上でなぜ出力が【キー: name、値: チョコレートキー: type、値: お菓子】となるか
わかりません。

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

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

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

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

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

guest

回答4

0

ベストアンサー

それは foreach連想配列 の問題ではなく、単に echo 命令で文字列を表示させたときに「想定通りに改行出来ていない」だけです。

下記を読んで復習してみてください。

PHPでの改行方法(ブラウザとソース表示)と、改行できない場合の対処法

投稿2016/07/22 07:56

pi-chan

総合スコア5936

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

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

ai5

2016/07/25 01:47

ありがとうぎざいます。もう少し勉強してみてまた質問させて頂きます。
guest

0

単に改行していないから1回目の出力と2回目の出力がくっついてしまっているだけでしょう。

PHP

1foreach 2( $food as $key => $value ) { 3echo "キー: " .$key ."、値: " .$value . PHP_EOL; 4}

ブラウザで確認するのなら。

PHP

1foreach 2( $food as $key => $value ) { 3echo "キー: " .$key ."、値: " .$value . "<br>" . PHP_EOL; 4}

投稿2016/07/22 07:52

ttyp03

総合スコア16996

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

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

0

PHP

1foreach( $food as $key => $value ) { 2echo "キー: {$key}、値:{$value}<br>\n"; 3}

としてください。
チョコレートキーと表示されていたのは区切り文字がなかったからです

投稿2016/07/22 07:50

yambejp

総合スコア114585

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

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

0

改行コード入れてないからかと。
htmlで見るならば改行コードは<br/>とかですかね。

php

1foreach 2( $food as $key => $value ) { 3echo "キー: " .$key ."、値: " .$value ."\n"; 4}

投稿2016/07/22 07:49

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ai5

2016/07/25 01:48

有難うございます。もう少し勉強してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問