【 PHP 】PHP8に入門してみた 45日目 PHPの基本 ( 奥が深い文字列リテラル )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

データ型

文字列リテラル

PHPではシングルクォートもしくはダブルクォートで文字列をくくると文字列リテラルとして識別されます。

シングルクォート(もしくはダブルクォート)を文字列で使用したい場合は?

シングルクォートを文字列中に使用したい場合、ダブルクォートでくくるとシングルクォートを文字列中で使用可能です。

ダブルクォートを文字列中に使用したい場合はシングルクォートでくくればよいわけです。

シングルクォートもダブルクォートも一緒に使いたい!

シングルクォートもダブルクォートも一緒使用する場合は上記の方法ではうまく対処できません。

そこでPHPではシングルクォートもダブルクォートをエスケープする方法も用意されています。
これをエスケープ処理と呼んでいます。

エスケープ処理とは「意味を持たないせない(無意味にする)」ということ、「意味を持つ文字」というのは文字列リテラルの開始と終了のクォート文字のこととのことです
勉強になりました😯

それぞれのクォート文字の直前でエスケープ記号(円マーク、Linux系ではバックスラッシュ)を挿入すると、直後の一文字を「無意味にする」ことができます。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHPの基本</title>
</head>

<body>
    <?php
    // print命令は指定された文字列を表示するための命令です。
    $msg = 'こんにちは、変数の世界! <br />';

    print $msg;
    print 'こんにちは、皆さん! ';

    print '<br />';

    $v = "シングルクォートとダブルクォートを同時に文字列中に使いたい・・・・ You're \"Perfect!!\" とか";
    print $v;
    ?>
</body>

</html>

メモ

なぜ文字列リテラルの開始・終了記号としてシングルクォートとダブルクォートの2種類を採用したのでしょうか?

PHPPHP

Posted by raika@blog