こんにちは。
こんな企画もありましたね。前回のPHPさわってみる企画はなんと2024年3月でした。
ちょうど本業の状況が変わって趣味活動の時間が取れなくなってきたころでした。あれ以来ほとんど勉強してなかったので少しずつでも進めたいと思います。
最初に注意書き。
この記事は初心者が学んでいる’日記’であって講座的なものではありません。間違った情報を含んでいる場合があります。
久しぶりなので趣旨を再確認しておくと、PHPでサーバーのデータを扱えるようになってWEBアプリやゲーム制作なんかに活用できたらいいね!って企画です。
今回のテーマは文字列型について。
変数やデータ型の概念についてはJavaScriptさわってみる企画で取り上げたのと、書き方も前回の記事にちょこっとあるので詳細は省略します。
簡単にだけ説明しておきますと'10’という文字は数字の10という意味とも取れるし1と0の文字列とも取れるよねってことです。足し算とか掛け算とかしたかったら数値(整数型)だし住所の番地とか文字として記録しておくなら文字列型って感じでいろいろあるんです。それがデータ型。
そういったデータを一旦置いておく場所が変数。数学のxやyと同じような感覚でいいと思います。不明な値や既知の値をxやらyやらと置きかえて計算し、最終的に代入して解答にしてましたよね。
だからこう書くと

こうなります。

結果はブラウザ(Google Chrome)で表示しています。
300÷2 の計算結果を表示してますね。
では変数$x を使いつつ、これを「300 ÷ 2」と表示するコードにするはどうするか。
こうです。

結果↓

$xには文字列として300を代入しています。 ’(シングルクォート)か ”(ダブルクォート)で囲うと文字列として認識されます。
echoのところにある .は文字列と文字列をつなげる意味です。
それでは少し応用。
シングルクォーテーションを表示したいときはどうするか。
↓こう書くとエラーになります。

↓ダブルクォーテーションを使うのが1つの方法。

↓こういう方法もあります。

結果

\(バックスラッシュ)で解決した方法はエスケープ処理っていう方法だそうです。他にも\nなど意味を持つ組み合わせのものがいろいろあってそれらをエスケープシーケンスと呼ぶのだとか。
それらを使用するときは文字列はダブルクォートで囲うようです。シングルクォートで囲ったときに使えるエスケープシーケンスは\'と\\だけ。
↓こちらはChatGptによるエスケープシーケンスをまとめた表。たぶん間違ってないです。
| エスケープ | 意味 | 補足 |
|---|---|---|
\n |
改行(LF) | Unix系改行 |
\r |
復帰(CR) | Windows改行の一部 |
\t |
タブ | |
\v |
垂直タブ | 使用頻度低 |
\e |
エスケープ文字 | ASCII 27 |
\f |
フォームフィード | |
\\ |
バックスラッシュ | \ |
\$ |
ドル記号 | 変数展開を防ぐ |
\" |
ダブルクォート | |
\0 |
NULL文字 | |
\nnn |
8進数表記 | 例:\101 → A |
\xhh |
16進数表記 | 例:\x41 → A |
\u{hhhh} |
Unicodeコードポイント | PHP 7+(UTF-8) |
あと、ダブルクオートを使用した場合、変数名を書くとそのまま変数として扱われるようです。
↓こう書くと

↓こうなりますが、

これをシングルクオートを使ってやるならこうなります↓

文字列と変数は切り離して「.」で繋いでいる格好です。
好みの方法を使えばいいと思いますが自分的にはシングルクオートのほうが理解しやすくて好きです。
今回はここまでとします。できればあまり間隔を開けずに次回に行きたいですねw

ありがとうございました。