PHPで文字列や変数を結合する方法を解説します。
結合演算子(.
)の使い方
PHPでは、文字列を連結するために結合演算子.
を使うことができます。この演算子は、左右の文字列を結合して一つの文字列を作ります。
echo 'はろー、' . 'わーるど!';
はろー、わーるど!
この例では、「はろー、」と「わーるど!」という文字列を連結し、出力しています。
文字列同士だけでなく、変数と変数、変数と文字列を結合することもできます。
//変数と変数を結合
$str1 = '私は、';
$str2 = '地底人';
echo $str1 . $str2; //私は、地底人
//変数と文字列を結合
$str = '私は、';
echo $str . 'やってない'; //私は、やってない
結合代入演算子(.=
)の使い方
PHPでは、文字列を連結するために結合代入演算子.=
を使うことができます。この演算子は、既存の文字列に新しい文字列を追加する形で連結することができます。
$str = 'はろー、';
$str .= 'わーるど!';
echo $str;
はろー、わーるど!
この例では、最初に「はろー、」という文字列を変数$str
に代入します。次に結合代入演算子.=
を使って「わーるど!」という文字列を追加しています。実行すると「はろー、わーるど!」という文字列が出力されます。
結合演算子と結合代入演算子の使い分け
結合演算子.
と結合代入演算子.=
は、どちらも同じようなことができますが、どのように使い分ければいいのでしょうか。
//結合演算子を使った場合
$str1 = 'はろー、';
$str2 = 'わーるど!';
echo $str1 . $str2;
echo $str1;
はろー、わーるど!
はろー、
//結合代入演算子を使った場合
$str1 = 'はろー、';
$str2 = 'わーるど!';
echo $str1 .= $str2;
echo $str1;
はろー、わーるど!
はろー、わーるど!
おわかりいただけただろうか。変数$str1
の値が書き換えられるかどうかが違いです。結合元の変数の値を書き換えたくない場合は、結合演算子.
を使いましょう。
無料で利用できるプログラミング学習サービスをお探しならば Code Lesson はいかがでしょうか。プロのエンジニアが監修した学習ロードマップで効率的に学習、AIに質問、最後にクイズで理解度をチェックできます。
二重引用符で変数を展開
結合演算子.
を使って、複数の文字列と変数を結合して文章を作ろうとすると、次のようなコードになります。
$name = 'キャスリーン・韮崎';
$age = 72;
$job = 'セクシー客室乗務員';
echo '私の名前は' . $name . 'です。年齢は' . $age . '歳で、職業は' . $job . 'です。';
私の名前はキャスリーン・韮崎です。年齢は72歳で、職業はセクシー客室乗務員です。
これでもいいのですが、ちょいとゴチャゴチャしてますね。スッキリと書く方法があります。
$name = 'キャスリーン・韮崎';
$age = 72;
$job = 'セクシー客室乗務員';
echo "私の名前は{$name}です。年齢は{$age}歳で、職業は{$job}です。";
私の名前はキャスリーン・韮崎です。年齢は72歳で、職業はセクシー客室乗務員です。
PHPでは、文字列に変数を埋め込んで出力することができます。これを実現するためには、二重引用符(ダブルクォーテーション)"..."
を使います。二重引用符の中では、変数を{$変数名}
という形で記述することで、その変数の値を展開することができます。
変数名を波括弧{...}
で括るのは、変数名の始まりと終わりを明確にするためです。変数名の後ろに変数名で使用できない文字が続く場合は、波括弧を省略することができます。
$name = 'キャスリーン・韮崎';
$age = 72;
$job = 'セクシー客室乗務員';
echo "私の名前は $name です。年齢は $age 歳で、職業は $job です。";
私の名前は キャスリーン・韮崎 です。年齢は 72 歳で、職業は セクシー客室乗務員 です。
上記の例では、変数名の後ろにスペースがあるので波括弧は不要です。
無料で利用できるプログラミング学習サービスをお探しならば Code Lesson はいかがでしょうか。プロのエンジニアが監修した学習ロードマップで効率的に学習、AIに質問、最後にクイズで理解度をチェックできます。
コメント