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

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

ただいまの
回答率

87.93%

''と'の使い分け

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,646

score 205

$a = 3;
var_dump("a は".'$a'." です");
var_dump('a は'. $a. ' です');
print('aは、'. "$a" .'です');
print $a;
print('aは、'.' "$a"'.'です');
などいろいろ試してみたのですが、
思い通りの結果が得られません。
aは3です
と表示させたい場合には、どういう書き方がありますでしょうか。
よろしくお願いいたします。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+1

PHPではダブルクォーテション(")で文字列中の変数展開ができるので
$a = 3;

print("aは${a}です");

// なお、PHPでの文字出力ではechoの方が処理速度が速い、というのが定説です。言うほど変わらないらしいですが・・・
echo "aは${a}です";
これでいいでしょうか?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/07/15 09:40

    b1ackc0ffee さん
    コメントに書かれているコードには多くの誤りがあります。

    - try の使い方に誤りがありシンタックスエラーになる
    - 変数展開されない箇所に変数を差し込んでいるため動作しない(↑で指摘の通り)
    - $displayName 変数の使い方に誤りがあり動作しない
    - html のマークアップに誤りがある(1個目の label の閉じタグ)

    これらを修正したとしても以下の脆弱性が存在します。

    - SQL インジェクション脆弱性
    - XSS 脆弱性

    「"と'の使い分け」という問題を修正したとしても、このコードは動作しません。

    キャンセル

  • 2015/07/15 17:04

    half_sleepingさま

    夜分に有難うございました+。
    指摘箇所を修正致しました^^
    使い分け方法わかりやすかったです!
    今後ともよろしくお願い致します。

    キャンセル

  • 2015/07/15 17:15

    ngyukiさま

    いつもお世話になります。総合1位おめでとうございます★
    - try の使い方に誤りがありシンタックスエラーになる
    try...catch苦手です。例外処理の部分は基本的と言われますが、まだまだ慣れていなくて><、

    - html のマークアップに誤りがある(1個目の label の閉じタグ)
    - 変数展開されない箇所に変数を差し込んでいるため動作しない(↑で指摘の通り)
    修正しました^^

    - $displayName 変数の使い方に誤りがあり動作しない
    変数、関数、ライブラリ、インスタンス化の理解ができていないせいか、
    プログラムの流れ、きちんとした整理ができません。
    難しいですね。皆さんどのように学んでこられたのでしょうか。
    下記に修正後のコードを載せます↓
    ―――
    <?php
    session_start();

    if ($auth->getAuth()){
    print($auth->name);
    $name = $auth->getAuthData("name");
    print("こんにちは");
    print("$name);
    print("さん");
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8" />
    <title>NEW掲示板</title>
    </head>
    <body>
    <?php
    echo('<a href="logout.php" target="_top">ログアウトする</a>');
    echo("こんにちは、"."$displayName"."さん。");
    echo htmlspecialchars(auth->getAuthData("name"));
    ?>
    <h3>ようこそNEW掲示板へ</h3>
    <form method="POST" action="guest_write.php" target="frame2">
    <div id="container">
    <label for="name">名前:</label>
    <input type="text" id="name" name="name" size="20" maxlength="30" />
    </div>
    <div id="container">
    <label for="body">本文:</label>
    <input type="text" id="body" name="body" size="70" maxlength="255" />
    </div>
    <input type="submit" value="送信" />
    </form>
    </body>
    </html>
    ―――

    - SQL インジェクション脆弱性
    - XSS 脆弱性
    セキュリティ関係も並行して身に着けないといけないでしょうか。
    プログラムの勉強を始めてか月ですが、何からどう学べばいいかわかりません。
    アドバイスいただき、助かります。

    キャンセル

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

  • ただいまの回答率 87.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

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