icon
icon

PHPで文字列を結合させる方法【初心者向け】

プログラミング初心者向けに、PHPで【文字列を結合させる】方法を解説した記事です。PHPでは「連結演算子」を使うことで、文字列や変数をくっつけて出力することができます。例を3つ使っているので実践してみましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

井上 祐介

NEC・Microsoftの認定インストラクター。Z80アセンブラ・C++・C#・PHP・Javaなどの経験を経て業務で使用するプログラムの開発や新入社員プログラミング研修の講師を行った。

プログラミング初心者向けに、PHPの基礎を紹介する記事です。PHPで文字列を結合させる方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

文字列の結合とは文字などをつなげることです。

文字列結合を使うと、あいさつのメッセージにユーザーの名前をつなげて表示したり、価格の数値の後に「円」を一緒に出力もできます。

目次

1時間でできる無料体験!

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

PHPでは、文字列変数をくっつけ、加工したり出力したりできます。

その場合使うのが、結合演算子「.(ドット)」です。

結合演算子「.(ドット)」以外にダブルクォーテーション「”」で変数を展開したり、配列を文字列として結合したりするimplode関数などがあります。

 

大石ゆかり

田島メンター!よく会員サイトで見かける「こんにちは、~さん」という表示はどうやってるんですか?まさか会員ごとにHTMLを書いてるんですか??

田島悠介

もちろん、プログラムで出力してるんだよ。今回紹介する、文字列の連結演算子がいいね。

大石ゆかり

文字列をつなげることが出来るんですね。

田島悠介

そうなんだ。使っているユーザーの名前や数値を固定のメッセージとつなげて表示できるんだよ。まるで「自分専用」のサイトのように見せることができるんだ。

大石ゆかり

たしかに「こんにちは」と表示されるだけよりも、「こんにちは、大石さん」と出たほうが「私専用」って感じがしますね。まるでわたしのコンシェルジュがいるみたいです!

田島悠介

そうだね。では文字列をつなげる方法を、さっそく見てみよう!

 

文字列を結合させる【.】 – 結合演算子

まずは基本となる文字列の結合をさせてみます。

結合演算子「.(ドット)」を使って名前と敬称の文字列を結合させます。

次のような書き方になります。

文字列(または変数) .  文字列(または変数);

ソースコード

$name = "ゆかり";
$message = $name . "様";
echo $message;

表示結果

PHP 表示結果 文字列を結合させる【.】 - 結合演算子

解説

文字列として連結するには結合演算子「.(ドット)」を使って文字列同士、数値、変数などさまざまな値を文字列として結合できます。

※PHP以外のプログラミング言語では、+を文字列結合の演算子として使う場合もありますので間違えないようにしましょう。

 

文字列を連結して代入する【.=】 – 結合代入演算子

結合代入演算子「.=」を使えば文字列の結合と代入を同時に行うことができます。

次のような書き方になります。

結合をしたい変数 .= 結合する文字列や変数;

左辺にある変数に右辺の文字列が代入されます。

たとえば、次の2つのコードは同じ結果です。
<pre”>$str = $str . “さん”;

$str =. "さん";

あいさつのメッセージを出力するコードの例をみてみましょう。

ソースコード

$message = "こんにちは。";
$message .= "ゆかり";
$message .= "様";
echo $message;

表示結果

連結結合演算子の実行結果

解説

このように、連結演算子「.=」を使えば変数の最後に文字列をどんどん繋げられます。

最初に代入する変数は普通に代入するか、空文字列「””」で初期化しておきましょう。

 

[PR] PHPプログラミングで挫折しない学習方法を動画で公開中

変数を展開する【”】 – ダブルクォーテーション

ダブルクォーテーション「”」を使うと、出力するときに変数の中身が文字列と一緒に出力されるようにできます。

途中に演算子をはさむ必要がないのでコードが見やすくなります。

次のような書き方になります。

“文字列{$変数}文字列”;

{$変数}の前後の文字列はあってもなくても構いません。

{$変数}はダブルクォーテーション「”」の中に複数でも入れられます。

※シングルクォーテーション「’」だと展開されません。

※中かっこ「{」なしでも変数を展開できますが、変数名が正しく認識されない場合があります。(例:変数$abcを展開したい場合、”$abcdef”では$abcdefの変数と認識されてしまいます)

名前とポイント数を出力するコードを見てみましょう。

ソースコード

$name = "ゆかり";
$point = 32;
$message = "{$name}様のポイントは {$point}ptです。";
echo $message;

表示結果

変数を展開する【””】 – ダブルクォーテーション

解説

変数の中身を展開して文字列と結合したいときは、ダブルクォーテーション「”」で文字列と変数を一緒にくくります。

変数名を正しく認識させるために、変数は中かっこ「{」で囲います。

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

配列の文字列を結合する【implode】

implodeを使うと配列の中身を展開し、指定した区切り文字でつないだ文字列を作成できます。

次のような書き方になります。

implode(“区切り文字”, 配列);

※上記はPHP7以下の場合でPHP8ではimplode(配列, “区切り文字”)となり引数が逆になります。

配列にある各教科の点数をカンマ区切りで出力するコードを見てみましょう。

ソースコード

$scores = [89, 75, 63];
$str = implode(',', $scores);
echo $str;

表示結果

配列の文字列を結合する【implode】 PHPで文字列を結合させる方法【初心者向け】

解説

配列の中身を順番に文字列として結合するにはimplodeを使います。

implodeの2番目の引数は値と値の間を区切る文字を指定します。

 

[補足]暗黙の型変換

数値同士や文字列同士を連結させる場合は、同じデータ型なので問題はありません。

データ型とは、コンピューターが値を認識する際に数値なのか文字なのか判断する基準といえます。

PHPではデータ型を変換しても意味が通じそうな場合には、プログラム側で自動的に型変換を行います。

 

int型

例えば「10」という数値はint型になります。

intとは英語のintegerを省略したもので、整数を意味するデータ型です。

 

string型

例えば「テックアカデミー」という文字はstring型といいます。

stringとは文字列を扱う際に指定するデータ型の一種です。

 

暗黙の型変換の例

ここで、int型とstring型が混在したプログラムの暗黙の型変換の例を紹介します。

コード

<?php
 $num = 10 + "20";
print $num;
?>

 

解説

int型の「10」とstring型の”20″の足し算の計算結果を、変数$numに代入しています。

本来であればint型とstring型という別のデータ型ですが、数値として認識できそうなので計算が可能です。

結果的にprint文を利用して「30」が表示されます。

 

1時間でできる無料体験!

おわりに

以上のように、連結演算子を使えば、文字列や変数などをくっつけて扱うことができます。ぜひご自身でも応用してみてください。

PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。

 

大石ゆかり

文字列をシングルクォーテーションやダブルクォーテーションで囲んで、連結演算子を用いると、文字列をつなげることができますね。

田島悠介

その通り!後、数値の場合ちょっと注意が必要かな。

大石ゆかり

数値と文字列を連結したら、文字列になりますよね?

田島悠介

スクリプト言語の場合はちょっと柔軟な場合があって、数値の文字列と数値の字列を掛け算すると、普通に数値の結果が出ることもあるんだよね。勝手に型が変換されることもあるから注意しよう!

 

PHPを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する