PHPで使われるちょっと変わった言葉があります。 “concatenate “です。 私はこの言葉を初めて聞いたとき、その意味が全く分からなかったことを今でも覚えています。
今日は、PHP の文字列連結の主要な領域をすべてカバーします。方法、理由、PHP の連結演算子とは何か、そして PHP の文字列連結をやりすぎることの欠点についても少し説明します。
Understand String Concatenation in PHP: Join Two Strings
PHPでは、文字の並びをまとめるのに「文字列連結」を使います
そのため、私たちはPHPで多くのHTMLを作成しています。 また、そうでない場合でも、テキストを処理することがよくあります。 このような理由から、2つの異なる井戸、string
integer
などではなく、文字列という特定のデータ型を意味します)
そこで、PHPでは「文字列連結」を使って物事をまとめます。
PHPの連結演算子: .
PHPの文字列連結演算子はピリオドです。
.
.
他の言語でプログラミングをしたことがある人は、+
(プラス)記号を使って2つ(またはそれ以上)の文字列を連結した経験があるかもしれません。 例えば、JavaScriptの文字列連結はこのような仕組みになっています。 PHPでは、代わりに.
.
という文字を2つの異なる引用文字列、または変数と文字列、あるいは変数と変数の間に入れると、結果は1つの文字列となり、PHPは(例えばecho
のように)出力するか、あるいはさらなる処理を行うことができるようになります。
英語に慣れていると、PHPの連結演算子が.
であることは奇妙に見えるかもしれません。
How to Concatenate Strings in PHP
さて、具体的に説明していきましょう。 ここでは、PHP の連結が実際にどのように見えるかを示すコードをいくつか紹介します。
echo
PHPで文字列 “Hello World “を連結する3つの方法を紹介します。
サンプルコードの最初の行は、PHP で文字列を表示するための echo
のごく一般的な使い方の例です。 これは、「PHPの国」からテキストを取得してページのHTMLに表示させたいときに行います。
次のブロックでは、まず1つの文字列、単純に単語World
を追加してから、それらを出力にエコーすることがわかります。 PHPでは、文字列を文字列に追加することは超一般的です。 これは、文字列の一部を表示する場所から離れた場所で定義するために行います。 単語 World
Hello World
を1つの文字列として作成します。 この最後の例は、セパレータ付きの文字列を結合するPHPの例を示しています。 この例では、セパレータは単なるスペースです。 私がPHPのコードでよくやってしまうミスは、スペースを忘れてしまうことですが、これは簡単に修正できます。
Combining Your PHP Powers: 文字列と変数を追加する
上記のコードでは、PHPの文字列連結の明確な例を見ました。 しかし、PHPを使って他の種類の変数を文字列に結合することも、制限の範囲内で可能です。
しかし、整数や浮動小数点数 (一般的には数字) のような「より単純な」PHP のデータ型は、PHP で連結されたものとして非常に一般的です。
$percentage = 12.1 + 9 + 41.21;echo 'Your final score: '.$percentage.' out of 100%.'; // outputs "Your final score: 62.31 out of 100%."$integer = 1 + 17;echo $integer.' centimeters in length'; // outputs "18 centimeters in length"
両方の例では、数字 (最初の例では float
integer
) を直接文字列に連結しています。 PHPはこの数字を文字列にするための「型の調整」を行ってくれるので、これを素早く簡単に行うことができます。
PHPの文字列補間?
では、私はめったに使わないが、理解しておくと非常に良いこととして、PHP の文字列補間があります。 私が言う「文字列補間」とは、$variable
をPHPの文字列に実際に埋め込むことで、$variable
の基本的な値ですぐに置き換えられます。 つまり、次のようになります。
$number = 4;echo "She has $number cars in her garage."; // outputs "She has 4 cars in her garage."echo "She has {$number} cars in her garage."; // outputs "She has 4 cars in her garage."
上記についていくつか重要なことがあります。 まず、両方の echo
ステートメントは、”She has 4 cars in her garage.” という出力になります。 第二に、このようにして、折り返しの {}
'
ではありません。
さらに、ダブルクォートを使用する際には、PHPエンジンが変数をその中に補間することができます。
$number = 4;echo 'She has '.$number.' cars in her garage.'; // outputs "She has 4 cars in her garage."
ここでは、PHP の文字列補間に頼るのではなく、PHP の連結演算子である .
を再び使用しています。 これらのオプションには良い点と悪い点があります。 そして、3つとも問題なく動作します。 二重引用符で囲まれた文字列に対して文字列補間を使用することによる パフォーマンスのオーバーヘッドは十分小さいので、気にする必要はないと思います。
変則的なもの: .= PHP では . = 連結 割り当て 」
最後に、これが時々使われるのを見かけると思いますが、これはこのトピックに非常に関連しています。 .
=
の組み合わせを、代入と連結の両方として使うことができます。
$hello = 'Hello';$world = 'World';$hello_world = $hello.' '.$world;echo $hello_world; // outputs "Hello World"
上のコードについては何も変更していません。 しかし、2つの文字列を結合するために、PHPを全く異なる方法で書くことができます。
$output = 'Hello';$output .= ' ';$output .= 'World';echo $output; // outputs "Hello World"
では、$output
World
.=
$output = $output.$new_thing;
などと同じになってしまうのです。 この例が好きか嫌いかは、個人の好みの問題です。
Now Go Concatenate Your Strings, Thoughtfully
最後に簡単な警告をさせていただきます:PHPで文字列を「連結」する力を身につけることは重要であり、とても価値のあることです。 しかし、それはしばしば効率の悪いことをしている証拠でもあります。 WordPress の functions.php
ファイルの中で、たくさんの HTML シーケンスと変数の文字列を単純に並べるよりも、テンプレート (HTML と既に配置された変数を含むファイル) の方が、多くの場合、より良い解決策になります。 控えめに使うべきだとは思いますが、私が10年ほどPHPを書いてきた中で、PHPの文字列連結を使わなかった週はおそらく一度もなかったと思います。 グッドラック!