【初心者向け】PHPマスター講座 vol.1(文字列を学ぼう)


みなさんこんにちは!けいです

今日から復習の意味も込めて
Qiitaでの投稿を始めていきます。

今後のQiitaでの投稿は可能な限り

【プログラミング初心者でも迷わずに理解できる構成】でまとめていきます。

もし記事内容に誤り及び不明点があれば都度コメントでいただければと思います!

それでは早速、本題にいきましょう。

【PHPマスター講座】文字列とは

====================================

▶︎Print構文を一言で表すと🐼?

print(プリント)は印刷するという意味の英語で

ようは

【文字列をサイト上で表示(印刷)するよ!】

という(直感でわかりやすい)意味です。

Print構文の書き方はコチラ↓↓

print 文字列

print自体は関数ではないので
引数の文字列を括弧()で囲む必要はありません。

====================================

▶︎Print構文って、どうやって使うの🐼?

💡ポイント💡

・文字列の中で「'」を使いたい場合
▶︎文字列全体を「"」で囲む

・文字列の中で「'」「"」の両方を使いたい場合
▶︎「"」の前に【\】を必ず記載する

・「.(ドット) '追記したい文字'」を使うことで
▶︎「文字列連結(つなげて文字をかける)」が可能
▶︎ドットの前後は「半角スペースで空欄」を作ると確認しやすい

・printの中の最後に「"\n」を記載することで
▶︎「改行」した状態で表示することが可能

まずは説明をする前に
実際に例文を一つ見ていきましょう。

たとえばあなたが

「わたしはPHPを勉強しています」と英語が書く場合は

print("I'm studying \"PHP\".");

上記のように書くと

【表示結果】
I'm studying "PHP".

このようにサイト上で
文字列を表示(印刷)することができます♪

たとえば

print("I'm studying \"PHP\".");
print("I'm studying \"Python\".");

上記のような形で
2つ連続した文字列を書く場合

サイト上でどのように表示されるのかと言うと・・・

【表示結果】
I'm studying "PHP".I'm studying "Python".

上記のように「改行されないまま文字列が連続で表示されてしまう」ので、対策として「\n(エスケープシーケンス)」を足します。

print("I'm studying \"PHP\". " . "\n");
print("I'm studying \"Python\". " . "\n");

【表示結果】
I'm studying "PHP".
I'm studying "Python".

さっきの改行なしと比べると
かなりスッキリしますよね!

💡ポイント💡

・文字列の中で「'」を使いたい場合
▶︎文字列全体を「"」で囲む

・文字列の中で「'」「"」の両方を使いたい場合
▶︎「"」の前に【\】を必ず記載する

・「.(ドット) '追記したい文字'」を使うことで
▶︎「文字列連結(つなげて文字をかける)」が可能
▶︎ドットの前後は「半角スペースで空欄」を作ると確認しやすい

・printの中の最後に「"\n」を記載することで
▶︎「改行」した状態で表示することが可能

こんな感じですね😌

====================================

▶︎echoとprintとの「違い」は🐼?

echoでもprintでも

「文字列」を出力することができますが…

先に結論からお伝えすると

主な違いは「下記の3つ」です。


①echoは戻り値を持たない
(printの戻り値は常に1)

②echoは複数の文字列を出力できる
(printは1つしかできない)

③echoは引数を複数セット可能
(printで指定できる引数は1つだけ)


一つずつ順番に解説していきます。

①echoは戻り値を持たない(printの戻り値は常に「1」)


・echo は文(statement)なので
【他の式や文の一部として使うことができない。】
+(戻り値を持たない)

・print は式(expression)なので
【他の式や文の一部として使うことができる。】
+(戻り値を常に1)


上記のようになります。

具体例としては下記です。

・一つ目(echo)
$greeting = echo "Hi Nice to meet you!";

・二つ目(print)
$greeting = print "Hi Nice to meet you!";

一つ目(echo)は戻り値がないので
▶︎「エラーが出力」されます。

二つ目(print)は、戻り値があるので
▶︎「正常に出力」されます。

②echoは複数の文字列を出力できる(printは1つしか不可)

こちらはタイトル通りの意味ですが
ざっくりとした構文イメージも載せておきますね。

・構文イメージ(echoの場合)
echo(string 文字列1 [, string 文字列n ... ] )

・構文イメージ(printの場合)
print(string 文字列 )

ようは

・【echo】文字列を複数セットできるか
・【print】文字列を一つしかセットできない

この違いしかないので、想像よりもだいぶシンプルです!!

③echoは引数を複数セット可能(printで指定できる引数は1つだけ)

・一つ目(echo)
echo "Hello", "My name is ○○";

・二つ目(print)
print "Hello", "My name is ○○";

一つ目(echo)は、引数を複数セットできるので
▶︎「正常に出力」されます。

二つ目(print)は、引数を一つしかセットできないので
▶︎「エラーが出力」されます。

上記のとおりです。

ただし、echoではカンマ「,」区切りで複数の文字列を指定できるのに対し、printではそれができません。

※echoで括弧「()」をつけた場合、カンマ「,」区切りでの複数指定はできず、かつ括弧「()」で括って複数指定する場合、エラーが出るので注意して下さい。

====================================

さて、今回のPHPマスター講座 vol1(文字列を学ぼう)はここまでとなります!

少しでもあなたのPHP学習のお役に立てれば幸いです😌