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

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

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

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

Q&A

解決済

2回答

2568閲覧

ドロップダウンボックスのループがわからないです。

ssspwp

総合スコア31

PHP

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

0グッド

0クリップ

投稿2018/05/25 00:13

編集2018/05/25 00:32

PHP

1<select name="age" id="age"> 2 3<?php 4for ($i=10; $i<=70; $i++) { 5 6print('<option value="' . $i . '">' . $i . '歳</option>');}・・・★ 7 8?> 9 10</select> 11 12<input type="submit" value="送信する" /> 13</form>

PHP

1<select name="age" id="age"> 2 3<?php 4for ($i=10; $i<=70; $i++) { 5 6print('<option value="$i">$i."歳"</option>');} 7 8?> 9 10</select> 11 12<input type="submit" value="送信する" /> 13</form>

①番目のコードが正しいプログラムで
②番目が自分のプログラムです
ここで、★の部分がわからないです。
シングルクォーテーションの中のドットがある意味がわからないです。
あと歳は文字列なのに''or""で囲まなくていいんですか?

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

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

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

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

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

ssspwp

2018/05/25 00:31

ありがとうございます。
m.ts10806

2018/05/25 00:39

「ドロップダウンボックスのループ」についての質問内容になっていませんが。
guest

回答2

0

ベストアンサー

分解して考えれば良いでしょう

print();→printは構文なのでカッコは本来いらない

'<option value="' . $i . '">' . $i . '歳</option>'
↓↓↓
<option value="」、「$i」、「">」、「$i」、「歳</option>」を
「.」で文字列として結合しています

投稿2018/05/25 00:23

yambejp

総合スコア114775

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

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

ssspwp

2018/05/25 00:33

ありがとうございます。
guest

0

PHPではシングルクォーテーションもダブルクォーテーションも文字列を囲うときに使えます。
ただし、シングルクォーテーションで囲うとそのまま中で変数展開ができないため、一度'で切り、
文字列連結の.を利用して展開しています。

ダブルクォーテーションで同じ表現をしようとすると下記のようになります。

php

1print("<option value=\"{$i}\">{$i}歳</option>")

※\を\の前にはつけたのは"はPHPでは特別な意味を持つため、エスケープ(参考)して「ただの文字列ですよ」とPHPプログラムに伝える必要があります
※今回のケースは{}で囲わなくても大丈夫ですが「PHPの変数である」という風に明示しておくとただの文字列と見間違えなくてすみます。
特に前後に英数字が続く場合、どこまでが変数でどこまでが文字列か分からなくなりますよね?
後に続いた場合はそのまま変数の一部とみなされるので{}で囲う癖をつけておくと良いです。

シングルクォーテーションとダブルクォーテーションの違いについては下記の記事などを参考にしてください。

投稿2018/05/25 00:24

編集2018/05/25 00:26
m.ts10806

総合スコア80850

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

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

ssspwp

2018/05/25 00:33

詳しい説明ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問